@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500&family=DM+Mono:wght@400;500&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f7f6f3;--surface:#fff;--border:#e8e6e0;--text:#1a1916;--muted:#8a8780;--accent:#1a1916;--accent-fg:#fff;--success:#2d6a4f;--warning:#b5451b;--info:#1d4ed8;--radius:10px;--sidebar:220px}body{background:var(--bg);color:var(--text);font-family:DM Sans,sans-serif;font-size:14px;line-height:1.6}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,select,textarea{font-family:inherit}.mono{font-family:DM Mono,monospace}.badge{letter-spacing:.02em;border-radius:20px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.badge-active{color:#166534;background:#dcfce7}.badge-pending{color:#854d0e;background:#fef9c3}.badge-progress{color:#1e40af;background:#dbeafe}.badge-done{color:#15803d;background:#f0fdf4}.badge-cancelled{color:#991b1b;background:#fee2e2}.badge-inactive{color:#475569;background:#f1f5f9}.layout{min-height:100vh;display:flex}.sidebar{width:var(--sidebar);background:var(--surface);border-right:1px solid var(--border);flex-direction:column;min-height:100vh;display:flex;position:fixed;top:0;left:0}.sidebar-brand{border-bottom:1px solid var(--border);align-items:baseline;gap:6px;padding:24px 20px 20px;display:flex}.brand-mark{letter-spacing:-.5px;font-size:18px;font-weight:500}.brand-sub{color:var(--muted);letter-spacing:.05em;font-size:11px}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:12px 10px;display:flex}.nav-item{color:var(--muted);border-radius:7px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;font-weight:400;transition:all .15s;display:flex}.nav-item:hover{background:var(--bg);color:var(--text)}.nav-item.active{background:var(--accent);color:var(--accent-fg)}.nav-icon{text-align:center;width:18px;font-size:15px}.sidebar-footer{border-top:1px solid var(--border);padding:16px}.user-info{align-items:center;gap:10px;margin-bottom:10px;display:flex}.user-avatar{background:var(--accent);width:32px;height:32px;color:var(--accent-fg);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:500;display:flex}.user-name{font-size:13px;font-weight:500}.user-role{color:var(--muted);font-size:11px}.user-details{flex:1;min-width:0}.logout-btn{width:100%;color:var(--muted);border:1px solid var(--border);border-radius:7px;padding:7px;font-size:12px;transition:all .15s}.logout-btn:hover{background:var(--bg);color:var(--text)}.main{margin-left:var(--sidebar);flex:1;min-height:100vh;padding:32px}.login-wrap{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;width:340px;padding:36px 32px}.login-brand{margin-bottom:28px}.login-mark{letter-spacing:-.5px;font-size:22px;font-weight:500;display:block}.login-sub{color:var(--muted);font-size:12px}.login-form{flex-direction:column;gap:16px;display:flex}.field input{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:7px;outline:none;padding:9px 12px;font-size:14px;transition:border .15s}.field input:focus{border-color:var(--accent)}.login-error{color:var(--warning);font-size:12px}.login-btn{background:var(--accent);color:var(--accent-fg);border-radius:7px;margin-top:4px;padding:10px;font-size:14px;font-weight:500;transition:opacity .15s}.login-btn:hover{opacity:.85}.login-btn:disabled{opacity:.5;cursor:not-allowed}.page{max-width:900px}.page-header{margin-bottom:28px}.stats-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:32px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.stat-value{letter-spacing:-1px;font-family:DM Mono,monospace;font-size:28px;font-weight:300}.stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-top:4px;font-size:11px}.section h2{margin-bottom:12px;font-size:14px;font-weight:500}.progress-wrap{align-items:center;gap:8px;display:flex}.progress-bar{background:var(--border);border-radius:2px;flex:1;height:4px}.progress-fill{background:var(--accent);border-radius:2px;height:100%;transition:width .3s}.progress-num{color:var(--muted);min-width:32px;font-family:DM Mono,monospace;font-size:12px}.page-header{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.page-header h1{letter-spacing:-.3px;font-size:22px;font-weight:500}.page-sub{color:var(--muted);margin-top:2px;font-size:13px}.btn-primary{background:var(--accent);color:var(--accent-fg);border-radius:7px;padding:8px 16px;font-size:13px;font-weight:500;transition:opacity .15s}.btn-primary:hover{opacity:.85}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.form-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:16px;margin-bottom:20px;padding:20px;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.field{flex-direction:column;gap:5px;display:flex}.field label{color:var(--muted);font-size:12px;font-weight:500}.field input,.field select{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:7px;outline:none;padding:8px 12px;font-size:13px;transition:border .15s}.field input:focus,.field select:focus{border-color:var(--accent)}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.table{border-collapse:collapse;width:100%}.table th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);padding:10px 16px;font-size:11px;font-weight:500}.table td{border-bottom:1px solid var(--border);padding:12px 16px;font-size:13px}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--bg)}.td-muted{color:var(--muted)}.td-name{font-weight:500}.td-actions{text-align:right}.empty{color:var(--muted);text-align:center;padding:32px!important}.btn-delete{color:var(--muted);border:1px solid var(--border);border-radius:5px;padding:4px 10px;font-size:12px;transition:all .15s}.btn-delete:hover{color:var(--warning);border-color:var(--warning)}
