:root{--accent:peru;--accent-dark:#a8672c;--accent-tint:#f2e2c3;--bg:#f6efe1;--surface:#fffcf5;--panel:#ede1c8;--text:#2b2419;--text-muted:#83765f;--border:#ddd0ac;--danger:#b3441f;--success:#3f7d4f;--shadow-sm:0 1px 2px #46300f0f;--shadow-md:0 6px 20px #46300f1a;--font-heading:"Plus Jakarta Sans", -apple-system, "Segoe UI", sans-serif;--font-body:"Inter", -apple-system, "Segoe UI", sans-serif;font-family:var(--font-body)}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--accent-dark)}h1,h2,h3,.brand,.btn{font-family:var(--font-heading)}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--panel);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:4px;width:224px;padding:24px 16px;display:flex}.sidebar .brand{flex-direction:column;align-items:center;gap:12px;margin-bottom:26px;display:flex}.brand-logo-frame{aspect-ratio:1;box-sizing:border-box;background:var(--surface);width:100%;box-shadow:var(--shadow-sm);border:2px solid #1a1613;border-radius:12px;justify-content:center;align-items:center;padding:14px;display:flex}.brand-name{color:var(--accent-dark);letter-spacing:-.01em;text-align:center;font-size:16px;font-weight:700}.sidebar a{color:var(--text);border-radius:8px;padding:9px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:background .12s,color .12s;display:block}.sidebar a.active,.sidebar a:hover{background:var(--accent-tint);color:var(--accent-dark)}.sidebar .user-info{color:var(--text-muted);border-top:1px solid var(--border);margin-top:auto;padding-top:14px;font-size:13px}.main-content{flex:1;max-width:1040px;padding:32px 40px}h1{letter-spacing:-.01em;margin:0 0 4px;font-size:25px}h2{letter-spacing:-.005em;margin:26px 0 10px;font-size:17px}.page-subtitle{color:var(--text-muted);margin-bottom:24px}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:12px;margin-bottom:16px;padding:18px 20px}.btn{background:var(--accent);color:#fff;cursor:pointer;box-shadow:var(--shadow-sm);border:none;border-radius:8px;padding:9px 16px;font-size:14px;font-weight:600;text-decoration:none;transition:background .12s,transform .12s,box-shadow .12s;display:inline-block}.btn:hover{background:var(--accent-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn.secondary{background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:none}.btn.secondary:hover{background:var(--panel);box-shadow:none}.btn.danger{background:var(--danger)}.btn.danger:hover{background:#8f3618}.btn:disabled{opacity:.5;cursor:default;box-shadow:none;transform:none}input,select,textarea{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:7px;padding:9px 11px;font-family:inherit;font-size:14px;transition:border-color .12s,box-shadow .12s}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint);outline:none}label{color:var(--text-muted);margin-top:12px;margin-bottom:4px;font-size:13px;font-weight:600;display:block}.form-grid{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.form-section-title{color:var(--accent-dark);text-transform:uppercase;letter-spacing:.03em;grid-column:1/-1;margin-top:20px;margin-bottom:4px;font-size:14px;font-weight:700}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);padding:10px;font-size:14px}th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}tr td{transition:background .1s}tr:hover td{background:var(--accent-tint);cursor:pointer}tr.row-overdue td:first-child{box-shadow:inset 3px 0 0 var(--danger)}tr.row-overdue:hover td{background:#fbe9e3}.badge{border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600;display:inline-block}.badge.urgent{color:var(--danger);background:#fbe3e3}.badge.high{background:var(--accent-tint);color:var(--accent-dark)}.badge.medium{color:#4a5a7a;background:#eef1f7}.badge.low{color:var(--success);background:#eef3ee}.status-pill{background:var(--panel);color:var(--text);border-radius:999px;padding:2px 9px;font-size:12px;display:inline-block}.login-page{background:var(--panel);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--surface);border:1px solid var(--border);width:340px;box-shadow:var(--shadow-md);border-radius:14px;padding:34px 30px}.login-logo{margin-bottom:14px}.login-card h1{color:var(--accent-dark)}.session-expired-notice{color:var(--accent-dark);background:#fff3e9;border:1px solid #f0dcc0;border-radius:8px;margin-bottom:16px;padding:9px 12px;font-size:13px}.error-text{color:var(--danger);margin-top:8px;font-size:13px}.top-bar{justify-content:flex-end;margin-bottom:12px;display:flex}.notif-bell{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:7px 12px;font-family:inherit;font-size:14px;transition:border-color .12s;position:relative}.notif-bell:hover{border-color:var(--accent)}.notif-dot{background:var(--danger);color:#fff;border-radius:999px;padding:1px 5px;font-size:10px;position:absolute;top:-4px;right:-4px}.notif-dropdown{background:var(--surface);border:1px solid var(--border);width:300px;box-shadow:var(--shadow-md);z-index:10;border-radius:10px;margin-top:8px;padding:8px;position:absolute;right:0}.notif-dropdown-header{border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);justify-content:space-between;align-items:center;margin-bottom:4px;padding:4px 6px 8px;font-size:12px;font-weight:700;display:flex}.notif-mark-all{color:var(--accent-dark);text-transform:none;letter-spacing:0;cursor:pointer;font-size:12px;font-weight:600;font-family:var(--font-body);background:0 0;border:none;padding:0}.notif-mark-all:hover{text-decoration:underline}.notif-item{border-radius:7px;padding:9px 8px;font-size:13px}.notif-item.unread{background:var(--accent-tint)}.ai-panel{background:var(--accent-tint);border:1px solid #f0dcc0;border-radius:10px;padding:16px 18px}.raw-data-grid{grid-template-columns:1fr 1fr;gap:6px 20px;font-size:14px;display:grid}.raw-data-grid dt{color:var(--text-muted);font-size:12px}.raw-data-grid dd{margin:0 0 8px}.file-list{flex-direction:column;gap:8px;margin:0 0 14px;padding:0;list-style:none;display:flex}.file-list-item{background:var(--panel);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.file-name{font-size:14px;font-weight:600}.file-meta{color:var(--text-muted);margin-top:2px;font-size:12px}.mock-tag{color:#8a6100;background:#fff3d6;border-radius:5px;margin-bottom:8px;padding:2px 7px;font-size:11px;font-weight:700;display:inline-block}.modal-backdrop{z-index:100;background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{background:var(--surface);border-radius:12px;width:360px;padding:24px 26px;box-shadow:0 12px 40px #0000002e}.inbox-shell{border:1px solid var(--border);border-radius:10px;height:calc(100vh - 100px);display:flex;overflow:hidden}.chat-sidebar{background:var(--panel);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:240px;display:flex}.chat-sidebar-header{border-bottom:1px solid var(--border);padding:12px}.chat-list{flex:1;overflow-y:auto}.chat-list-item{cursor:pointer;border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 12px;font-size:14px;display:flex}.chat-list-item:hover{background:var(--accent-tint)}.chat-list-item.active{background:var(--accent-tint);font-weight:600}.chat-list-item .delete-x{color:var(--text-muted);opacity:0;padding:2px 6px;font-size:12px}.chat-list-item:hover .delete-x{opacity:1}.chat-list-item .delete-x:hover{color:var(--danger)}.unread-dot{background:var(--danger);border-radius:999px;flex-shrink:0;width:7px;height:7px;display:inline-block}.chat-main{flex-direction:column;flex:1;display:flex}.chat-messages{flex:1;padding:16px 20px;overflow-y:auto}.chat-message{max-width:70%;margin-bottom:14px}.chat-message.mine{text-align:right;margin-left:auto}.chat-message .bubble{background:var(--panel);text-align:left;border-radius:10px;padding:8px 12px;font-size:14px;display:inline-block}.chat-message.mine .bubble{background:var(--accent-tint)}.chat-message .meta{color:var(--text-muted);margin-top:2px;font-size:11px}.chat-composer{border-top:1px solid var(--border);gap:8px;padding:12px;display:flex}.chat-composer input{flex:1}.skeleton{background:linear-gradient(90deg, var(--border) 25%, #f6ecd4 37%, var(--border) 63%);background-size:400% 100%;border-radius:5px;animation:1.4s infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:100%}to{background-position:0}}.empty-state{text-align:center;color:var(--text-muted);background:var(--panel);border:1px dashed var(--border);border-radius:12px;flex-direction:column;align-items:center;padding:48px 20px;display:flex}.empty-state svg{margin-bottom:12px}.empty-state-title{font-family:var(--font-heading);color:var(--text);margin-bottom:4px;font-size:15px;font-weight:700}.empty-state-message{max-width:320px;font-size:13px;line-height:1.5}.tab-bar{border-bottom:1px solid var(--border);gap:4px;margin-bottom:20px;display:flex}.tab-btn{font-family:var(--font-heading);color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-right:20px;padding:10px 4px;font-size:14px;font-weight:600;transition:color .12s,border-color .12s}.tab-btn:hover{color:var(--text)}.tab-btn.active{color:var(--accent-dark);border-bottom-color:var(--accent)}.filter-bar{flex-wrap:wrap;gap:14px;margin-bottom:18px;display:flex}.editing-banner{background:var(--accent-tint);color:var(--accent-dark);border:1px solid #e2c896;border-radius:8px;margin-bottom:16px;padding:9px 12px;font-size:13px}.cart-totals{border-top:1px solid var(--border);flex-direction:column;gap:4px;margin-top:14px;padding-top:12px;display:flex}.cart-totals div{justify-content:space-between;font-size:14px;display:flex}.cart-totals div:last-child{color:var(--accent-dark);font-size:16px}.month-calendar{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:12px;margin-bottom:24px;padding:18px 20px 20px}.month-cal-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.month-cal-title{font-family:var(--font-heading);color:var(--text);font-size:16px;font-weight:700}.month-cal-nav{gap:6px;display:flex}.month-cal-nav .btn{box-shadow:none;padding:6px 12px;font-size:13px}.month-cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.month-cal-weekdays{margin-bottom:6px}.month-cal-weekday{text-align:center;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding-bottom:2px;font-size:11px;font-weight:600}.month-cal-day{background:var(--panel);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:4px;min-height:92px;padding:6px 6px 8px;display:flex;overflow:hidden}.month-cal-day.outside{opacity:.4;background:0 0;border-color:#0000}.month-cal-day.today{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.month-cal-daynum{color:var(--text-muted);font-size:12px;font-weight:600}.month-cal-day.today .month-cal-daynum{color:var(--accent-dark)}.month-cal-chips{flex-direction:column;gap:3px;display:flex;overflow:hidden}.month-cal-chip{text-align:left;width:100%;font-size:11px;font-weight:600;font-family:var(--font-body);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border:none;border-radius:5px;padding:2px 6px;transition:filter .12s;display:block;overflow:hidden}.month-cal-chip:hover{filter:brightness(.95)}.month-cal-chip.urgent{color:var(--danger);background:#fbe3e3}.month-cal-chip.high{background:var(--accent-tint);color:var(--accent-dark)}.month-cal-chip.medium{color:#4a5a7a;background:#eef1f7}.month-cal-chip.low{color:var(--success);background:#eef3ee}.month-cal-chip.overdue{box-shadow:inset 2px 0 0 var(--danger)}.month-cal-more{color:var(--text-muted);padding:0 4px;font-size:10.5px}@media (width<=720px){.month-cal-day{min-height:68px}.month-cal-daynum{font-size:10px}.month-cal-chip{font-size:9.5px}.month-cal-weekday{font-size:9px}}.step-list{flex-direction:column;gap:10px;display:flex}.step-row{grid-template-columns:90px 1fr auto;align-items:center;gap:10px;display:grid}.step-number{color:var(--text-muted);font-size:13px;font-weight:600}
