@charset "UTF-8";
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.6 "Malgun Gothic","맑은 고딕",sans-serif}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button,.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:var(--white);border-radius:3px;color:var(--ink);padding:8px 12px;cursor:pointer;white-space:nowrap;line-height:1.4}
button:hover,.button:hover{background:var(--line);border-color:var(--muted)}
button:disabled{opacity:.6;cursor:wait}
.primary{background:var(--primary);border-color:var(--primary);color:var(--white)}
.primary:hover{background:var(--primary);color:var(--white)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.sidebar{width:232px;background:var(--dark);color:var(--line);position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:20}
.brand{display:flex;gap:12px;padding:27px 22px 25px;align-items:center;color:var(--white);font-size:19px;font-weight:700;letter-spacing:-.8px}
.brand-symbol{display:grid;place-items:center;width:39px;height:40px;border:1px solid var(--primary);border-radius:3px;color:var(--muted);font:italic bold 30px Georgia,serif}
.brand small{display:block;font-size:9px;letter-spacing:1.5px;color:var(--muted);margin-top:2px}
.workspace-label{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px;color:var(--muted);padding:18px 22px;border-top:1px solid var(--ink)}
.workspace-label span{font-size:11px;letter-spacing:0}
nav{overflow:auto;padding:0 12px 14px;flex:1;scrollbar-width:thin}
nav a{display:block}
.nav-home,summary{cursor:pointer;list-style:none}
.nav-home{padding:12px;border-radius:3px;margin-bottom:12px;font-weight:700}
.nav-group summary{padding:11px 12px;display:flex;align-items:center;justify-content:space-between;color:var(--line)}
.nav-group summary:after{content:'⌄';color:var(--muted)}
.nav-group[open] summary:after{content:'⌃'}
.nav-group a{padding:8px 12px 8px 22px;font-size:12px;border-radius:3px;color:var(--muted)}
.nav-group a:hover{background:var(--ink);color:var(--white)}
.sidebar .active{color:var(--white);background:var(--primary);box-shadow:none}
.sidebar-bottom{padding:15px 22px;border-top:1px solid var(--primary);font-size:12px}
.sidebar-bottom small{display:block;color:var(--muted);margin-left:15px;font-size:10px}
.online-dot{display:inline-block;width:6px;height:6px;background:var(--primary);border-radius:50%;margin-right:7px}
.workspace{margin-left:232px}
.topbar{height:74px;padding:0 32px;display:flex;justify-content:space-between;align-items:center;background:var(--white);border-bottom:1px solid var(--line)}
.company{font-weight:700}
.top-actions{display:flex;align-items:center;gap:24px}
.date{font-size:12px;color:var(--muted)}
.icon-button{display:flex;padding:7px;border:1px solid var(--line);border-radius:50%}
.avatar{display:grid;place-items:center;width:32px;height:32px;background:var(--line);border-radius:50%;font-size:12px;font-weight:bold;color:var(--primary);flex-shrink:0}
.user-menu{position:relative}
.user-menu summary{display:flex;align-items:center;gap:9px}
.user-menu>div{position:absolute;right:0;top:45px;width:230px;padding:8px;background:var(--white);border:1px solid var(--line);border-radius:3px;box-shadow:none;z-index:40}
.user-menu a{display:block;padding:8px 12px;font-size:13px}
.user-menu a:hover{background:var(--bg)}
main{max-width:1800px;margin:0 auto;padding:30px 32px}
.page-heading{display:flex;align-items:center;justify-content:space-between}
.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;color:var(--primary);margin:0 0 5px}
h1{font-size:27px;letter-spacing:-1.2px;margin:0}
h2{font-size:15px;margin:0;font-weight:700}
h3{font-size:14px;margin:9px 0}
p{margin:0 0 10px}
.quick-actions{display:flex;gap:7px;flex-wrap:wrap;margin:21px 0 25px}
.quick-actions button{font-size:12px;padding:7px 11px;background:transparent}
.dashboard-toolbar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);margin-bottom:22px;padding-bottom:10px;gap:10px}
.tabs{display:flex;gap:24px}
.tabs a{font-size:13px;color:var(--muted);padding:10px 0;position:relative}
.tabs .selected{color:var(--primary);font-weight:700}
.tabs .selected:after{content:'';position:absolute;bottom:-11px;left:0;right:0;height:3px;background:var(--primary)}
.dashboard-toolbar button,.dashboard-toolbar .button{font-size:12px}
.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}
.stat{background:var(--white);border:1px solid var(--line);border-radius:3px;padding:19px 22px;position:relative;overflow:hidden}
.stat:first-child{background:var(--dark);color:var(--white);border-color:var(--dark)}
.stat>span{font-size:12px;color:var(--muted)}
.stat:first-child>span{color:var(--muted)}
.stat strong{display:block;font-size:29px;letter-spacing:-1px;font-variant-numeric:tabular-nums;margin:5px 0}
.stat strong small{font-size:12px;font-weight:400;margin-left:6px}
.stat p{font-size:11px;margin:0;color:var(--muted)}
.stat:first-child p{color:var(--muted)}
.stat:last-child strong{color:var(--primary)}
.dashboard-search{display:flex;align-items:center;gap:13px;margin-bottom:22px;background:var(--line);border:1px solid var(--line);padding:12px 17px;border-radius:3px}
.dashboard-search label{font-size:12px;font-weight:700;white-space:nowrap}
.dashboard-search input{max-width:380px;flex:1;min-width:0}
.dashboard-search button{font-size:12px}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:20px;align-items:start}
.panel{background:var(--white);border:1px solid var(--line);border-radius:3px;min-width:0;overflow:hidden}
.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:17px 20px;border-bottom:1px solid var(--line);min-height:60px}
.panel-heading h2 b{font-size:12px;color:var(--primary);background:var(--line);padding:2px 7px;border-radius:3px;margin-left:6px}
.panel-heading>span,.panel-heading>a{font-size:11px;color:var(--primary)}
.panel-heading button{font-size:11px;padding:5px 8px}
.full{grid-column:1/-1}
.staff-grid{display:grid;grid-template-columns:1fr 1fr;padding:8px 16px;gap:0 18px}
.staff{display:flex;gap:9px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}
.staff strong{font-size:12px}
.staff small{display:block;font-size:10px;color:var(--muted);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.staff .status{margin-left:auto}
.status{font-size:10px;background:var(--line);color:var(--muted);border-radius:3px;padding:3px 6px;white-space:nowrap}
.status.green{background:var(--line);color:var(--primary)}
.notice{padding:18px 22px 13px}
.notice p{font-size:12px;color:var(--muted)}
.notice small,.shared-memo small{font-size:10px;color:var(--muted)}
.notice-image{display:block;max-width:100%;max-height:240px}
.calendar{padding:8px 22px 20px}
.calendar-heading{display:flex;align-items:center;justify-content:space-between;font-size:12px}
.calendar-heading button{border:0;font-size:20px;padding:0 10px}
.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:10px;gap:3px}
.calendar-grid span{padding:3px}
.calendar-grid .today{background:var(--primary);color:var(--white);border-radius:3px}
.calendar-grid .weekday{color:var(--muted)}
.table-wrap{overflow:auto}
.table-wrap.compact{max-height:280px}
table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap;font-size:12px}
th{background:var(--white);color:var(--muted);font-size:10px;font-weight:600;position:sticky;top:0;z-index:1}
td,th{padding:12px 16px;border-bottom:1px solid var(--line)}
td a{font-weight:600}
td a:hover{text-decoration:underline}
td small{display:block;color:var(--muted);font-size:10px;margin-top:3px}
tbody tr:hover{background:var(--white)}
tfoot{background:var(--line);font-weight:bold}
.empty{padding:34px 18px;text-align:center;color:var(--muted);font-size:12px}
.shared-memo{display:flex;padding:20px;gap:12px;border-bottom:1px solid var(--line)}
.shared-memo p{font-size:12px;margin:0 0 6px;white-space:pre-wrap;overflow-wrap:anywhere}
.memo-dot{margin-top:5px;width:7px;height:7px;flex-shrink:0;background:var(--primary);border-radius:50%}
.amount-due{color:var(--red);font-weight:600}
input,select,textarea{display:block;width:100%;border:1px solid var(--line);border-radius:3px;background:var(--white);padding:9px 10px;color:var(--ink);font-size:13px}
textarea{resize:vertical;min-height:80px}
label{font-size:12px}
label input,label select,label textarea{margin-top:5px}
input[type=checkbox]{width:auto;display:inline-block}
dialog{width:min(560px,calc(100vw - 28px));max-height:90vh;border:1px solid var(--line);padding:0;border-radius:3px;color:var(--ink);box-shadow:none}
dialog::backdrop{background:var(--ink);backdrop-filter:blur(2px)}
.dialog-heading{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line)}
.dialog-heading button{border:0;font-size:22px;padding:0 8px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;padding:22px 24px}
.dialog-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 24px;border-top:1px solid var(--line)}
.form-result{padding:0 24px;color:var(--primary);white-space:pre-wrap;overflow-wrap:anywhere}
.form-result.error{color:var(--red)}
.hint{color:var(--muted);font-size:12px;margin:0}
.settings-list{display:grid;grid-template-columns:1fr 1fr;padding:20px;gap:14px}
#settings-dialog>.hint{padding:20px 20px 0}
.settings-list label{cursor:pointer}
.quote-preview{padding:14px;background:var(--line);color:var(--primary);border-radius:3px}
.work-form{padding-bottom:20px}
.work-form>button{margin-left:24px}
.work-form label span{display:flex;gap:4px;margin-top:6px}
.work-form label span button{font-size:11px;padding:4px 8px}
.list-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding:20px;border-bottom:1px solid var(--line)}
.list-filters label{max-width:180px}
.list-filters input,.list-filters select{min-height:38px}
.periods{display:flex;gap:3px}
.periods button{font-size:11px;padding:8px}
.pagination{display:flex;justify-content:center;gap:18px;align-items:center;padding:20px;font-size:12px}
.placeholder{padding:70px 30px;text-align:center}
.placeholder-symbol{font-size:48px;color:var(--muted)}
.placeholder h2{font-size:24px;margin-bottom:15px}
.placeholder .muted{font-size:13px;color:var(--muted);margin-bottom:24px}
code{font-size:12px}
footer{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:30px;padding-top:20px;border-top:1px solid var(--line)}
#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--primary);color:var(--white);border-radius:3px;padding:12px 24px;z-index:100;display:none;max-width:90vw}
.skip{position:fixed;left:250px;top:-60px;background:var(--white);padding:10px;z-index:100}
.skip:focus{top:10px}
[hidden]{display:none!important}
@media(min-width:1550px){.stat strong{font-size:34px}
}
@media(max-width:1100px){.sidebar{width:205px}
.workspace{margin-left:205px}
main{padding:24px 20px}
.topbar{padding:0 20px}
.dashboard-grid{grid-template-columns:1fr}
.stat{padding:15px}
.stat strong{font-size:23px}
.staff-grid{grid-template-columns:repeat(4,1fr)}
.staff{flex-wrap:wrap}
.date{display:none}
}
@media(max-width:720px){.sidebar{position:static;width:100%;max-height:260px}
.brand{padding:12px 18px}
.sidebar-bottom,.workspace-label{display:none}
.sidebar nav{display:flex;gap:5px;align-items:start;padding:10px;overflow:auto}
.nav-home{white-space:nowrap}
.nav-group{min-width:135px}
.nav-group summary{font-size:12px}
.workspace{margin-left:0}
.topbar{height:60px}
.top-actions{gap:15px}
.company{font-size:12px}
main{padding:20px 12px}
.stat-grid{grid-template-columns:1fr 1fr;gap:10px}
.stat strong{font-size:24px}
.dashboard-toolbar{align-items:start;flex-direction:column}
.staff-grid{grid-template-columns:1fr 1fr}
h1{font-size:24px}
.page-heading .primary{font-size:12px}
.form-grid{grid-template-columns:1fr}
.dashboard-search{gap:8px;padding:10px}
.dashboard-search label{display:none}
.settings-list{grid-template-columns:1fr}
footer{display:block}
.panel-heading{padding:15px}
.quick-actions{gap:5px}
.quick-actions button{font-size:11px}
.list-filters label{max-width:100%}
}


.notice-edit{float:right;font-size:10px;padding:3px 8px}


.dashboard-search select{width:145px}
@media(max-width:720px){.dashboard-search select{width:95px;font-size:11px}
}


/* contracts / document.html */
@media print{body:has(.contract-paper) .sidebar,body:has(.contract-paper) .topbar,body:has(.contract-paper) .quick-actions,body:has(.contract-paper) .page-heading,body:has(.contract-paper) footer,body:has(.contract-paper) button,body:has(.contract-paper) dialog{display:none!important}
body:has(.contract-paper) .workspace{margin:0!important}
body:has(.contract-paper) main{padding:0!important}
body:has(.contract-paper) .contract-paper{border:0!important}
}

/* contracts / page.html */

.contract-nav{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}
.contract-nav a{padding:8px 12px;background:var(--white);border:1px solid var(--line);border-radius:3px}
.contract-panel{background:var(--white);border:1px solid var(--line);border-radius:3px;margin:18px 0;padding:20px}
.contract-panel h2{font-size:19px;margin:0 0 18px;border-left:4px solid var(--primary);padding-left:12px}
.contract-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:15px}
.contract-grid label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--primary)}
.contract-grid input,.contract-grid select,.contract-grid textarea{width:100%;min-height:38px;border:1px solid var(--line);border-radius:3px;padding:8px;background:var(--white);color:var(--ink)}
.contract-grid textarea{min-height:76px}
.contract-grid input[type=checkbox],.contract-grid input[type=radio]{width:16px;min-height:16px}
.contract-grid .choice{display:flex;align-items:center;gap:6px}
.contract-scroll{overflow:auto;max-height:650px}
.contract-scroll table{white-space:nowrap;width:100%;border-collapse:collapse}
.contract-scroll th{position:sticky;top:0;background:var(--line);color:var(--primary)}
.contract-scroll td,.contract-scroll th{padding:12px;border-bottom:1px solid var(--line);text-align:left;font-size:12px}
.contract-scroll tr:hover{background:var(--line)}
.contract-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0}
.contract-message{padding:14px;background:var(--line);color:var(--primary)}
.contract-actions{position:sticky;bottom:0;background:var(--line);padding:14px;border:1px solid var(--line);z-index:2}
summary{cursor:pointer}
 .contract-record{border-bottom:1px solid var(--line);padding:10px;overflow-wrap:anywhere}
@media(max-width:1000px){.contract-grid{grid-template-columns:repeat(2,minmax(130px,1fr))}
}
@media(max-width:600px){.contract-grid{grid-template-columns:1fr}
}


/* money / page.html */

.money .strip{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}
.money .metric{flex:1;min-width:150px;background:var(--ink);color:var(--white);padding:20px 22px;border-radius:3px}
.money .metric small{color:var(--muted);display:block;margin-bottom:8px}
.money .metric strong{font-size:25px;font-variant-numeric:tabular-nums}
.money .panel{background:var(--white);border:1px solid var(--line);border-radius:3px;margin:14px 0;padding:20px}
.money .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.money label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--primary)}
.money input,.money select,.money textarea{width:100%;min-width:0;padding:9px;border:1px solid var(--line);border-radius:3px;background:var(--white)}
.money input[type=checkbox]{width:18px;height:18px}
.money .toolbar{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}
.money .toolbar a,.money .tab{padding:8px 11px;border:1px solid var(--line);border-radius:3px;background:var(--white);color:var(--ink);text-decoration:none}
.money .scroll{overflow:auto;max-height:650px}
.money table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}
.money th{position:sticky;top:0;background:var(--line);text-align:left;color:var(--primary)}
.money td,.money th{padding:12px;border-bottom:1px solid var(--line)}
.money td.num{text-align:right;font-variant-numeric:tabular-nums}
.money tr:hover td{background:var(--line)}
.money details summary{cursor:pointer;font-weight:600;padding:7px 0}
.money .note{color:var(--primary);font-size:12px}
.money .result{white-space:pre-wrap;background:var(--line);padding:14px;border-left:4px solid var(--primary)}
.money .result:empty{display:none}
.money h2{font-size:17px}
.money .tabs{display:flex;gap:7px;overflow:auto;padding:8px 0}
.money .active{background:var(--primary)!important;color:var(--white)!important}
.money .bar{height:8px;background:var(--primary);border-radius:2px;max-width:250px}
.money .action-link{color:var(--primary);font-weight:600}
@media print{body:has(.money) .sidebar,body:has(.money) .topbar,body:has(.money) .quick-actions,body:has(.money) .money form,body:has(.money) .money .toolbar,body:has(.money) footer,body:has(.money) .money .no-print{display:none!important}
body:has(.money) .workspace{margin:0!important}
body:has(.money) .money .scroll{max-height:none;overflow:visible}
body:has(.money) .money table{font-size:9px}
body:has(.money) .money .metric{color:var(--ink);background:var(--white);border:1px solid var(--muted)}
}


/* office / page.html */

.office-toolbar,.office-tabs,.office-pager,.office-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.office-tabs{border-bottom:1px solid var(--line);margin-bottom:20px;padding-bottom:12px}
.office-tabs a{padding:8px 12px;background:var(--line);border-radius:3px;color:var(--primary)}
.office-card{background:var(--white);border:1px solid var(--line);border-radius:3px;margin:18px 0;padding:22px}
.office-card h2{font-size:17px;margin:0 0 18px}
.office-toolbar{margin:16px 0}
.office-toolbar a,.office-actions a,.office-pager a{display:inline-block;padding:7px 12px;border:1px solid var(--line);border-radius:3px;background:var(--white);text-decoration:none}
.office-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:16px}
.office-field{display:flex;flex-direction:column;gap:7px;font-size:13px;color:var(--primary)}
.office-field>span:first-child{font-weight:600;overflow-wrap:anywhere}
.office-field input:not([type=checkbox]):not([type=radio]),.office-field select,.office-field textarea{width:100%;min-height:38px;border:1px solid var(--line);border-radius:3px;padding:8px;background:var(--white);color:var(--ink)}
.office-field.wide{grid-column:span 3}
.option-set{display:flex;gap:10px;flex-wrap:wrap;min-height:38px;align-items:center}
.option-set label{display:flex;align-items:center;gap:5px;font-weight:400}
.office-scroll{overflow:auto}
.office-table{border-collapse:collapse;min-width:100%;font-size:13px}
.office-table th{background:var(--line);font-weight:600;color:var(--primary);white-space:nowrap;border-bottom:2px solid var(--line);padding:12px}
.office-table td{padding:11px 12px;border-bottom:1px solid var(--line);white-space:nowrap;max-width:350px;overflow:hidden;text-overflow:ellipsis}
.office-table tbody tr:hover{background:var(--line)}
.office-table button{font-size:12px;padding:4px 7px}
.office-notice{padding:14px 18px;border-left:4px solid var(--primary);background:var(--line);color:var(--primary);margin:15px 0}
.office-metrics{display:flex;gap:32px;margin:18px 0;color:var(--muted);font-size:13px}
.office-metrics strong{display:block;font-size:26px;font-variant-numeric:tabular-nums;color:var(--primary)}
.office-pager{justify-content:space-between;margin-top:18px}
.office-related{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}
.office-editor summary{cursor:pointer;font-weight:700;padding-bottom:16px}
.office-muted{font-size:12px;color:var(--muted)}
.office-calendar{table-layout:fixed;width:100%;border-collapse:collapse}
.office-calendar td{height:90px;vertical-align:top;border:1px solid var(--line);padding:8px}
.office-calendar small{display:block;background:var(--line);padding:3px;margin:3px 0}
.office-content{white-space:pre-wrap;line-height:1.8}
.office-grid .office-actions{grid-column:1/-1;margin-top:10px}
.office-section{border-top:1px solid var(--line);padding-top:18px;margin-top:18px}
.office-error{color:var(--red);background:var(--line);padding:14px}
 @media(max-width:900px){.office-grid{grid-template-columns:1fr 1fr}
.office-field.wide{grid-column:span 2}
}
@media(max-width:600px){.office-grid{grid-template-columns:1fr}
.office-field.wide{grid-column:span 1}
}
@media print{body:has(.office-card) .sidebar,body:has(.office-card) .topbar,body:has(.office-card) .quick-actions,body:has(.office-card) .office-toolbar,body:has(.office-card) form,body:has(.office-card) footer{display:none!important}
body:has(.office-card) .workspace{margin:0}
body:has(.office-card) .office-card{break-inside:avoid}
}


/* vehicles / page.html */

.v-nav,.v-tools{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}
.v-nav a{padding:9px 12px;border-bottom:2px solid transparent;font-size:12px;color:var(--primary)}
.v-nav a.active{color:var(--primary);border-color:var(--primary);font-weight:700}
.v-tools button,.v-tools a{font-size:12px}
.v-panel{background:var(--white);border:1px solid var(--line);border-radius:3px;margin:16px 0;padding:20px}
.v-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.v-form label{color:var(--primary);min-width:0}
.v-form fieldset{border:1px solid var(--line);border-radius:3px;min-width:0}
.v-form fieldset label{display:inline-flex;align-items:center;gap:5px;margin:4px}
.v-form input[type=radio],.v-form input[type=checkbox]{width:auto;display:inline-block}
.v-message{padding:15px 20px;background:var(--line);border-left:4px solid var(--primary);margin:16px 0;white-space:pre-wrap}
.v-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0}
.v-card{background:var(--white);border:1px solid var(--line);border-top:3px solid var(--primary);border-radius:3px;padding:20px}
.v-card h2{margin:8px 0;font-size:21px}
.v-card p{font-size:12px;color:var(--primary)}
.v-plate{font-weight:700;letter-spacing:1px}
.v-summary{display:flex;gap:24px;flex-wrap:wrap;background:var(--primary);color:var(--white);padding:20px;border-radius:3px}
.v-summary strong{display:block;font-size:23px;margin-top:5px;font-variant-numeric:tabular-nums}
.v-summary span{font-size:11px;color:var(--muted)}
.v-details summary{cursor:pointer;font-size:14px;font-weight:700;padding:10px 0}
.v-field-group{border:0;border-top:1px solid var(--line);padding:20px 0}
.v-field-group legend{font-size:14px;font-weight:700;color:var(--primary);padding:0 12px 0 0}
.v-cell{max-width:270px;white-space:normal;overflow-wrap:anywhere}
.v-calendar td{min-width:95px;vertical-align:top}
.v-calendar td:first-child{position:sticky;left:0;background:var(--white);z-index:1}
.v-result{white-space:pre-wrap;color:var(--red)}
.v-select-all{width:auto}
.v-topline{display:flex;justify-content:space-between;align-items:center;gap:15px}
.v-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px}
.v-tabs button.active{background:var(--primary);color:var(--white)}
.v-empty{color:var(--muted);padding:30px;text-align:center}
.v-actions{max-height:185px;overflow:auto}
.v-subtitle{font-size:12px;color:var(--muted)}
.v-edit-header{position:sticky;top:0;background:var(--white);z-index:3;padding:12px 0;border-bottom:1px solid var(--line);margin-bottom:20px}
.v-form textarea{min-height:90px}
.v-full{grid-column:1/-1}
@media(max-width:1150px){.v-form{grid-template-columns:repeat(2,minmax(0,1fr))}
.v-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){.v-form,.v-cards{grid-template-columns:1fr}
}


/* Moren theme: all non-badge palette values are defined here. */
:root {
 --ink:#555555; --muted:#73879c; --line:#e6e9ed; --bg:#f7f7f7; --white:#ffffff;
 --sidebar:#010101; --brand:#ecf0f1; --nav-text:#e7e7e7; --nav-sub:rgba(255,255,255,.75); --nav-accent:#1abb9c;
 --topbar:#ededed; --top-border:#d9dee4; --nav-icon:#2a3f54; --table-border:#dddddd; --hover:#f5f5f5;
 --primary:#337ab7; --primary-border:#2e6da4; --default-text:#333333; --default-border:#cccccc;
 --info:#5bc0de; --info-border:#46b8da; --success:#26b99a; --success-border:#169f85;
 --danger:#d9534f; --danger-border:#d43f3a; --warning:#f0ad4e; --warning-border:#eea236;
 --dark:#4b5f71; --dark-text:#e9edef; --dark-border:#364b5f; --input-border:#cecece;
 --blue:#3498db; --red:#e74c3c; --backdrop:rgba(42,63,84,.4);
}

body{font:12px/1.6 "Helvetica Neue",Helvetica,Arial,"Malgun Gothic",sans-serif;color:var(--ink);background:var(--bg)}

.sidebar{width:200px;background:var(--sidebar);color:var(--nav-text)}

.workspace{margin-left:200px}
.brand{height:57px;padding:0 13px;gap:8px;font-size:15px;font-weight:400;letter-spacing:0;color:var(--brand)}

.brand-symbol{width:24px;height:24px;border:0;border-radius:0;color:inherit;flex-shrink:0}

.workspace-label{padding:12px 15px;border:0;font-size:15px;font-weight:bold;letter-spacing:0;color:var(--white)}

.sidebar nav{padding:0 0 14px}
.nav-home,.nav-group summary{padding:13px 15px 12px;font-size:12px;font-weight:500;color:var(--nav-text);border-radius:0;margin:0}

.nav-icon{margin-right:9px}
.nav-group[open]{border-left:5px solid var(--nav-accent);background:var(--sidebar)}
.nav-group[open] summary{padding-left:10px}

.nav-group a{padding:9px 9px 9px 28px;font-weight:500;color:var(--nav-sub);border-radius:0}
.nav-group a:before{content:'\2022';margin-right:10px}

.nav-group a:hover,.sidebar .active{background:var(--sidebar);color:var(--white);box-shadow:none}
.nav-home.active{border-left:5px solid var(--nav-accent);padding-left:10px}

.sidebar-bottom{padding:15px;border-top:1px solid var(--dark-border);font-size:12px;color:var(--nav-sub)}
.sidebar-bottom small{margin-left:0;color:var(--nav-sub)}
.online-dot{display:none}

.topbar{height:59px;padding:0 20px;background:var(--topbar);border-bottom:1px solid var(--top-border)}
.menu-symbol{font-size:25px;color:var(--nav-icon)}
.icon-button{border:0;border-radius:3px;color:var(--nav-icon);background:transparent}

.user-menu>div{border-radius:3px;box-shadow:none}
main{padding:10px 20px}
h1,h2,.money h2,.office-card h2,.contract-panel h2,.v-card h2{font-size:18px;font-weight:600;color:var(--ink);letter-spacing:0}

.quick-actions{margin:12px 0 16px}
.eyebrow{display:none}

.panel,.money .panel,.contract-panel,.office-card,.v-panel,.v-card,.stat,.money .metric,.v-summary,.contract-paper{background:var(--white);border:1px solid var(--line);border-radius:0;padding:10px 17px;box-shadow:none;color:var(--ink)}

.stat:first-child{background:var(--white);border-color:var(--line);color:var(--ink)}
.stat:first-child>span,.stat:first-child p,.stat>span,.stat p,.money .metric small,.v-summary span{color:var(--muted)}
.stat:last-child strong{color:var(--ink)}

.panel-heading{padding:0 0 10px;min-height:40px;border-bottom:2px solid var(--line);margin-bottom:10px}
.contract-panel h2,.office-card h2,.money .panel>h2,.v-panel>h2,.v-card h2{border-left:0;border-bottom:2px solid var(--line);padding:0 0 10px;margin:0 0 10px}

.dashboard-search,.quote-preview,.contract-actions,.contract-message,.office-notice,.money .result,.v-message,.office-calendar small{background:var(--bg);border-color:var(--line);color:var(--ink);border-radius:0}

.contract-grid label,.office-field,.money label,.v-form label,label{font-size:12px;font-weight:bold;color:var(--ink)}

input,select,textarea,.contract-grid input,.contract-grid select,.contract-grid textarea,.money input,.money select,.money textarea,.office-field input:not([type=checkbox]):not([type=radio]),.office-field select,.office-field textarea{height:30px;min-height:30px;border:1px solid var(--input-border);border-radius:0;padding:4px 6px;font-size:14px;color:var(--ink);background:var(--white)}

.list-filters input,.list-filters select{min-height:30px}
textarea,.contract-grid textarea,.money textarea,.office-field textarea{height:auto;min-height:80px}
select[multiple]{height:auto;min-height:90px}
input[type=checkbox],input[type=radio],.contract-grid input[type=checkbox],.contract-grid input[type=radio],.money input[type=checkbox]{height:16px;min-height:16px;width:16px}

table,.office-table,.money table{font-size:12px;text-align:center;border:1px solid var(--table-border);border-radius:0}

td,th,.contract-scroll td,.contract-scroll th,.office-table td,.office-table th,.money td,.money th{padding:5px;border:1px solid var(--table-border);text-align:center;font-size:12px}

th,.contract-scroll th,.office-table th,.money th{background:var(--white);color:var(--ink);font-weight:bold;border-bottom:2px solid var(--table-border)}

th a{color:inherit}
tbody tr,.money tbody tr td{background:var(--white)}
tbody tr:hover,tbody tr:hover td,.money tr:hover td,.contract-scroll tr:hover,.office-table tbody tr:hover{background:var(--hover)}
tfoot{background:var(--bg)}

.v-cell,.office-content,.text-long{white-space:normal;text-align:left;overflow-wrap:anywhere}
td a,.blue,.money .action-link,.v-plate{color:var(--blue);font-weight:bold}
.amount-due,.form-result.error,.office-error,.v-result,.red{color:var(--red)}

button,.button,.quick-actions button,.dashboard-toolbar button,.dashboard-toolbar .button,.dashboard-search button,.panel-heading button,.office-table button,.v-tools button,.v-tools a,.money .toolbar a,.office-toolbar a,.office-actions a,.office-pager a{font-size:11px;padding:4px 8px;border:1px solid var(--default-border);border-radius:3px;background:var(--white);color:var(--default-text);line-height:1.4}

button:hover,.button:hover{background:var(--hover);border-color:var(--default-border)}

:is(button,a).primary,:is(button,a).primary:hover{background:var(--primary);border-color:var(--primary-border);color:var(--white)}

:is(button,a).info{background:var(--info);border-color:var(--info-border);color:var(--white)}

:is(button,a).success,.periods button,.work-form label span button{background:var(--success);border-color:var(--success-border);color:var(--white);font-size:11px;padding:4px 8px}

:is(button,a).danger{background:var(--danger);border-color:var(--danger-border);color:var(--white)}

:is(button,a).warning{background:var(--warning);border-color:var(--warning-border);color:var(--white)}

:is(button,a).dark{background:var(--dark);border-color:var(--dark-border);color:var(--dark-text)}

.tabs,.money .tabs,.contract-nav,.office-tabs,.v-nav,.v-tabs{gap:0;padding:0;flex-wrap:wrap}
.tabs a,.money .tab,.contract-nav a,.office-tabs a,.v-nav a,.v-tabs button{padding:4px 8px;border:1px solid var(--default-border);border-radius:0;font-size:12px;background:var(--white);color:var(--default-text);margin-right:-1px}

.tabs .selected,.tabs .active,.money .active,.contract-nav a.active,.office-tabs a.active,.v-nav a.active,.v-tabs button.active{background:var(--primary)!important;color:var(--white)!important;border-color:var(--primary-border)}
.tabs .selected:after{display:none}

.calendar-grid .today,.money .bar{background:var(--primary);color:var(--white)}
.v-field-group legend{color:var(--ink)}

dialog{border-radius:3px;box-shadow:none}
dialog::backdrop{background:var(--backdrop);backdrop-filter:none}
#toast{background:var(--dark);color:var(--white);border-radius:3px}
.memo-dot{background:var(--muted)}

@media(max-width:720px){.sidebar{width:100%}
.workspace{margin-left:0}
main{padding:10px 20px}
.brand{padding:0 13px}
.topbar{height:59px}
h1{font-size:18px}
}
button[data-period]{background:var(--success);border-color:var(--success-border);color:var(--white);font-size:11px;padding:4px 8px}
