*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #f7f6f3;--color-surface: #ffffff;--color-surface-2: #f0efe9;--color-border: rgba(0,0,0,.08);--color-border-strong: rgba(0,0,0,.16);--color-text: #1a1917;--color-text-2: #6b6860;--color-text-3: #a09e98;--color-primary: #1D9E75;--color-primary-dark: #0F6E56;--color-primary-light: #E1F5EE;--color-primary-text: #085041;--color-accent: #E8574A;--color-accent-light: #FDF0EF;--color-accent-text: #8B2820;--color-amber: #FAEEDA;--color-amber-text: #633806;--color-red: #FCEBEB;--color-red-text: #791F1F;--color-blue: #E6F1FB;--color-blue-text: #0C447C;--color-purple: #EEEDFE;--color-purple-text: #3C3489;--color-wa: #25D366;--color-wa-dark: #1ebe5c;--font-sans: "DM Sans", system-ui, sans-serif;--font-mono: "DM Mono", monospace;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04)}html,body,#root{height:100%;font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);font-size:14px;line-height:1.5}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:3px}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--radius-md);border:.5px solid var(--color-border-strong);background:transparent;cursor:pointer;font-size:13px;font-family:var(--font-sans);color:var(--color-text);transition:background .15s,border-color .15s;white-space:nowrap}.btn:hover{background:var(--color-surface-2)}.btn:active{transform:scale(.98)}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover{background:var(--color-primary-dark)}.btn-accent{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.btn-accent:hover{background:#c94438}.btn-sm{padding:5px 10px;font-size:12px}.btn-wa{background:var(--color-wa);color:#fff;border-color:var(--color-wa);font-size:12px;padding:5px 10px}.btn-wa:hover{background:var(--color-wa-dark)}.btn-icon{padding:5px;border-radius:var(--radius-sm);border:.5px solid var(--color-border);background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-2)}.btn-icon:hover{background:var(--color-surface-2);color:var(--color-text)}.form-group{margin-bottom:14px}.form-group label{display:block;font-size:12px;color:var(--color-text-2);margin-bottom:4px;font-weight:500}input,select,textarea{width:100%;padding:8px 11px;border:.5px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:13px;font-family:var(--font-sans);background:var(--color-surface);color:var(--color-text);outline:none;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}textarea{resize:vertical;min-height:80px}input[type=checkbox]{width:auto}.badge{display:inline-block;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:500}.badge-green{background:var(--color-primary-light);color:var(--color-primary-text)}.badge-amber{background:var(--color-amber);color:var(--color-amber-text)}.badge-red{background:var(--color-red);color:var(--color-red-text)}.badge-blue{background:var(--color-blue);color:var(--color-blue-text)}.badge-purple{background:var(--color-purple);color:var(--color-purple-text)}.badge-accent{background:var(--color-accent-light);color:var(--color-accent-text)}.card{background:var(--color-surface);border:.5px solid var(--color-border);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-sm)}.metric-card{background:var(--color-surface-2);border-radius:var(--radius-md);padding:14px}.metric-label{font-size:11px;color:var(--color-text-2);margin-bottom:4px;font-weight:500;text-transform:uppercase;letter-spacing:.04em}.metric-value{font-size:24px;font-weight:600;color:var(--color-text)}.metric-delta{font-size:11px;margin-top:3px}.tbl-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}thead th{text-align:left;padding:8px 12px;color:var(--color-text-2);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.04em;border-bottom:.5px solid var(--color-border);white-space:nowrap}tbody td{padding:10px 12px;border-bottom:.5px solid var(--color-border);color:var(--color-text);vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:var(--color-surface-2)}.section-title{font-size:11px;font-weight:600;color:var(--color-text-2);text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}.avatar{width:32px;height:32px;border-radius:50%;background:var(--color-primary-light);color:var(--color-primary-text);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;flex-shrink:0}.avatar-lg{width:46px;height:46px;font-size:15px}.toggle-track{width:34px;height:20px;border-radius:10px;background:var(--color-surface-2);border:.5px solid var(--color-border-strong);position:relative;cursor:pointer;flex-shrink:0;transition:background .2s}.toggle-track.on{background:var(--color-primary);border-color:var(--color-primary)}.toggle-thumb{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:left .2s;box-shadow:0 1px 3px #0003}.toggle-track.on .toggle-thumb{left:17px}.day-btn{padding:5px 10px;border-radius:var(--radius-sm);border:.5px solid var(--color-border-strong);background:transparent;cursor:pointer;font-size:12px;font-family:var(--font-sans);color:var(--color-text-2);transition:all .15s}.day-btn.on{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.cal-hdr{text-align:center;font-size:10px;color:var(--color-text-3);padding:5px 0;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:12px;border-radius:var(--radius-sm);cursor:pointer;position:relative;color:var(--color-text);transition:background .1s}.cal-day:hover{background:var(--color-surface-2)}.cal-day.has-apt{background:var(--color-primary-light);color:var(--color-primary-text);font-weight:600}.cal-day.today{background:var(--color-primary);color:#fff;font-weight:600}.cal-day.closed{color:var(--color-text-3);background:var(--color-bg);cursor:default}.cal-day.selected{outline:2px solid var(--color-primary);outline-offset:-2px}.cal-dot{position:absolute;bottom:2px;width:4px;height:4px;border-radius:50%;background:var(--color-primary)}.cal-day.today .cal-dot{background:#fffc}.notif-dot{width:8px;height:8px;border-radius:50%;background:var(--color-border-strong);flex-shrink:0;margin-top:5px}.notif-dot.unread{background:var(--color-accent)}.tl-dot{width:10px;height:10px;border-radius:50%;background:var(--color-primary-light);border:2px solid var(--color-primary);flex-shrink:0;margin-top:4px}.drag-field{background:var(--color-surface-2);border:.5px dashed var(--color-border-strong);border-radius:var(--radius-md);padding:10px 12px;margin-bottom:8px;display:flex;align-items:center;gap:10px;font-size:13px}.hbar{display:flex;align-items:center;gap:10px;margin-bottom:8px}.hbar-label{min-width:90px;font-size:12px;color:var(--color-text-2);flex-shrink:0;text-align:right}.hbar-track{flex:1;background:var(--color-surface-2);border-radius:4px;height:14px;overflow:hidden}.hbar-fill{height:100%;background:var(--color-primary);border-radius:4px;transition:width .4s ease}.hbar-val{min-width:36px;font-size:11px;color:var(--color-text-2);text-align:right}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:200;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto}.modal{background:var(--color-surface);border:.5px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:500px;padding:22px;position:relative;box-shadow:0 20px 60px #00000026}.modal-title{font-size:16px;font-weight:600;margin-bottom:16px;color:var(--color-text)}.modal-close{position:absolute;top:16px;right:16px;background:none;border:none;cursor:pointer;font-size:22px;color:var(--color-text-2);line-height:1;padding:2px 6px;border-radius:var(--radius-sm)}.modal-close:hover{background:var(--color-surface-2)}.toast{position:fixed;bottom:20px;right:20px;background:var(--color-text);color:#fff;padding:10px 16px;border-radius:var(--radius-md);font-size:13px;z-index:999;pointer-events:none;transition:opacity .3s,transform .3s;opacity:0;transform:translateY(8px)}.toast.show{opacity:1;transform:translateY(0)}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.flex{display:flex;align-items:center}.gap-6{gap:6px}.gap-8{gap:8px}.gap-12{gap:12px}.sb{justify-content:space-between}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.text-sm{font-size:12px}.text-xs{font-size:11px}.text-muted{color:var(--color-text-2)}.text-mono{font-family:var(--font-mono)}.fw-500{font-weight:500}.fw-600{font-weight:600}.pdf-preview{border:.5px solid var(--color-border);border-radius:var(--radius-md);padding:16px;background:var(--color-surface-2);font-size:12px;color:var(--color-text-2);font-family:var(--font-mono);line-height:1.8}.nav-badge{margin-left:auto;background:var(--color-accent);color:#fff;border-radius:10px;font-size:10px;padding:1px 6px;font-weight:600}@media (max-width: 768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr!important}.card{padding:12px!important;margin-bottom:10px}.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.modal{width:95vw!important;max-width:95vw!important}.modal-overlay{padding:8px!important;align-items:flex-end}.topbar{padding:8px 12px!important}.btn{font-size:13px!important}.metric-value{font-size:20px!important}input,select,textarea{font-size:16px!important}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))!important}.hbar-val{min-width:36px!important;text-align:right}.hbar-label{min-width:90px!important}.main-content{padding-bottom:100px!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important}}
