:root{--ink:#202020;--muted:#737373;--line:#dedede;--soft:#f7f7f6;--accent:#e9e7e2;--ok:#dcebdc;--pending:#f5edce;--warning:#f3dfd3;--danger:#f2d6d6;--neutral:#e8e8e8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;font-size:15px}*{box-sizing:border-box}body{margin:0;background:#fff}body.module-month{--accent:#e9e7e2}body.module-clients{--accent:#dceaf4}body.module-projects{--accent:#ddebdc}body.module-maintenances{--accent:#e2ead7}body.module-quotes{--accent:#f3dfd3}body.module-billing{--accent:#eedde2}body.module-activity{--accent:#e5e0f1}a{color:inherit}aside{position:fixed;inset:0 auto 0 0;width:220px;border-right:1px solid var(--line);background:#fafafa;padding:28px 18px;display:flex;flex-direction:column;z-index:10}.brand{font-weight:800;letter-spacing:.13em;font-size:20px}.brand span{display:block;font-weight:500;font-size:9px;letter-spacing:.34em;margin-top:2px}nav{margin-top:38px;display:grid;gap:4px}aside nav a{padding:10px 12px;text-decoration:none;border-radius:4px;color:#555}aside nav a:hover,aside nav a.active{background:var(--accent);color:#111;font-weight:650}.account{margin-top:auto;border-top:1px solid var(--line);padding:18px 10px 0;font-size:13px}.account a{display:block;color:var(--muted);margin-top:8px}main{margin-left:220px;padding:0 38px 70px;max-width:1600px}.page-head{background:var(--accent);margin:0 -38px 28px;padding:25px 38px;display:flex;gap:18px;align-items:center;border-bottom:1px solid rgba(0,0,0,.06)}.page-head h1{margin:1px 0 0;font-size:27px}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.14em;font-size:10px;color:#555}.menu{display:none}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px}.toolbar>p{color:var(--muted)}.toolbar form,.inline{display:flex;align-items:center;gap:8px}.button,button{border:1px solid #222;background:#222;color:#fff;border-radius:4px;padding:9px 13px;font:inherit;cursor:pointer}.secondary{background:#fff;color:#222;border-color:#aaa}.link{background:none;color:#222;border:0;text-decoration:underline;padding:4px}.panel{border:1px solid var(--line);margin:0 0 22px;background:#fff}.panel>h2{font-size:13px;letter-spacing:.06em;text-transform:uppercase;padding:14px 16px;margin:0;border-bottom:1px solid var(--line)}.panel>p,.panel>dl{padding:0 16px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:720px}th,td{text-align:left;padding:11px 13px;border-bottom:1px solid var(--line);vertical-align:middle}th{background:#fafafa;color:#595959;text-transform:uppercase;font-size:10px;letter-spacing:.06em;position:sticky;top:0}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fcfcfb}.clickable{cursor:pointer}td small,.line small,.timeline small{display:block;color:var(--muted);margin-top:3px}.status{display:inline-block;padding:4px 8px;border-radius:99px;font-size:12px;white-space:nowrap}.status.ok{background:var(--ok);color:#28582d}.status.pending{background:var(--pending);color:#655411}.status.warning{background:var(--warning);color:#78430f}.status.danger{background:var(--danger);color:#882525}.status.neutral{background:var(--neutral);color:#555}.notice{padding:12px 15px;margin:0 0 20px;background:var(--ok);border:1px solid #bad3bb}.notice.error{background:var(--danger);border-color:#e5b6b6}.metrics{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:22px}.metrics article{background:#fff;padding:15px}.metrics span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase}.metrics strong{display:block;font-size:20px;margin-top:5px}.metrics.compact{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.month-nav{display:flex;justify-content:space-between;align-items:center;text-align:center;margin-bottom:24px}.month-nav a{text-decoration:none;font-size:30px;padding:5px 16px}.month-nav p,.month-nav h2{margin:3px}.attention{border-left:4px solid #dca24b}.attention-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:12px 16px}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:22px}.line{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px 16px;border-bottom:1px solid var(--line)}.line:last-child{border-bottom:0}.empty{text-align:center;color:var(--muted);padding:25px!important}.record-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.record-head h2,.record-head p{margin:3px 0}.tabs{display:flex;gap:0;margin:0 0 20px;border-bottom:1px solid var(--line);overflow:auto}.tabs button{border:0;border-bottom:3px solid transparent;border-radius:0;background:none;color:#555;white-space:nowrap}.tabs button.active{color:#111;border-color:#222}.tab-panel[hidden]{display:none}.tab-panel dl{display:grid;grid-template-columns:140px 1fr;gap:12px}.tab-panel dt{color:var(--muted)}.tab-panel dd{margin:0}.timeline{display:grid;grid-template-columns:155px 1fr;gap:18px;padding:13px 16px;border-bottom:1px solid var(--line)}.timeline:last-child{border-bottom:0}.timeline time{color:var(--muted);font-size:13px}.note{padding:12px 16px;border-bottom:1px solid var(--line)}.hint{font-size:12px;color:var(--muted)}input,select,textarea{font:inherit;color:inherit;border:1px solid #aaa;border-radius:3px;background:#fff;padding:9px 10px;max-width:100%}textarea{min-height:76px;resize:vertical}label{display:grid;gap:6px;font-size:13px;color:#444}label input,label select,label textarea{margin-top:1px}dialog{border:0;border-radius:6px;padding:0;width:min(680px,calc(100% - 28px));box-shadow:0 18px 70px #0004}dialog::backdrop{background:#0007}dialog form{padding:20px}dialog header,dialog footer{display:flex;align-items:center;justify-content:space-between;gap:16px}dialog header{border-bottom:1px solid var(--line);margin:-20px -20px 20px;padding:15px 20px;background:var(--accent)}dialog header h2{margin:0;font-size:18px}dialog header button{background:none;border:0;color:#222;font-size:24px;padding:0}dialog footer{border-top:1px solid var(--line);margin:20px -20px -20px;padding:15px 20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.wide{grid-column:1/-1}.login-page{display:grid;place-items:center;min-height:100vh;background:#f3f2ef;padding:20px}.login-card{width:min(390px,100%);background:#fff;border:1px solid var(--line);padding:36px}.login-card h1{margin:32px 0 4px}.login-card form{display:grid;gap:18px;margin-top:25px}.login-card button{width:100%}.muted{color:var(--muted)}
@media(max-width:950px){.metrics{grid-template-columns:repeat(3,1fr)}.attention-grid{grid-template-columns:1fr 1fr}.two-cols{grid-template-columns:1fr}}
@media(max-width:720px){aside{transform:translateX(-100%);transition:.2s}.nav-open aside{transform:none;box-shadow:0 0 60px #0005}.nav-open:after{content:"";position:fixed;inset:0;background:#0004;z-index:5}main{margin-left:0;padding:0 16px 45px}.page-head{margin:0 -16px 20px;padding:18px 16px}.menu{display:block;background:none;color:#222;border:0;font-size:22px}.toolbar{align-items:stretch;flex-direction:column}.toolbar form{align-items:stretch;flex-direction:column}.toolbar>div{display:flex}.metrics{grid-template-columns:1fr 1fr}.attention-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.timeline{grid-template-columns:1fr;gap:4px}.tab-panel dl{grid-template-columns:1fr;gap:3px}.tab-panel dd{margin-bottom:9px}}

