:root{--brand-primary: #57312a;--brand-primary-dark: #3f221d;--brand-accent: #d57536;--brand-blue: #002061;--brand-pale: #c0daef;--brand-soft: #f3e9e4;--home-bg: #f4f3ed;--cream: #f4f3ed;--text: #1d1d1f;--text-2: #3c3c43;--text-3: #6e6e73;--text-4: #aeaeb2;--fill: #f5f5f7;--border: rgba(226, 232, 240, .9);--border-strong: #e2e8f0;--danger: #ff3b30;--warn: #ff9500;--ok: #34c759;--slate-50: #f8fafc;--slate-100: #f1f5f9;--slate-500: #64748b;--radius-frame: 16px;--radius-card: 12px;--radius-sm: 8px;--font: "Manrope", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-display: "PT Serif", Georgia, serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font);background:var(--home-bg);color:var(--text);-webkit-font-smoothing:antialiased;font-size:14px}a{color:inherit;text-decoration:none}button{font-family:var(--font);cursor:pointer}input,select,textarea{font-family:var(--font);font-size:13px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#d3d3d8;border-radius:5px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-track{background:transparent}.app-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:10px 22px;background:#ffffffd1;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,0,0,.07);box-shadow:0 1px #0000000a}.logo{display:flex;align-items:center;gap:12px;font-weight:700;color:#1d1d1f}.logo .sub{margin-left:10px;font-size:11px;font-weight:600;color:var(--text-3);letter-spacing:.06em;text-transform:uppercase}.pill-nav{display:flex;background:var(--fill);border-radius:999px;padding:3px;gap:2px}.pill-nav a{padding:6px 16px;border-radius:999px;font-size:13px;font-weight:600;color:#6e6e73;transition:color .15s ease,background .15s ease;white-space:nowrap;display:flex;align-items:center;gap:6px}.pill-nav a.active{background:#fff;color:#1d1d1f;box-shadow:0 1px 4px #0000001a,0 0 0 .5px #0000000d}.pill-nav a:hover:not(.active){color:#1d1d1f}.page{max-width:1440px;margin:0 auto;padding:20px 22px 60px}.frame{background:#fff;border:1px solid var(--border);border-radius:var(--radius-frame);padding:20px 24px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--slate-500)}.h1{font-size:24px;font-weight:700;letter-spacing:-.02em}.h2{font-size:17px;font-weight:700;letter-spacing:-.01em}.display-accent{font-family:var(--font-display);font-style:italic;font-weight:400;color:var(--brand-primary)}.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-card);padding:16px}.card.hoverable{transition:box-shadow .15s ease,border-color .15s ease}.card.hoverable:hover{border-color:#cbd5e1;box-shadow:0 4px 16px #0f172a0f}.stat-label{font-size:12px;color:var(--slate-500);font-weight:500}.stat-value{font-size:26px;font-weight:700;margin-top:2px;letter-spacing:-.02em}.btn{display:inline-flex;align-items:center;gap:6px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;padding:7px 14px;border:1px solid transparent;transition:all .15s ease}.btn-primary{background:var(--brand-primary);color:#fff}.btn-primary:hover{background:var(--brand-primary-dark)}.btn-ghost{background:transparent;color:var(--text-2);border-color:var(--border-strong)}.btn-ghost:hover{background:var(--fill)}.btn-danger{background:#fff1f0;color:var(--danger);border-color:#ffd6d3}.btn-danger:hover{background:#ffe3e0}.btn-sm{padding:4px 10px;font-size:12px}.badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;letter-spacing:.02em}.badge-active{background:#e7f7ee;color:#1a7f43}.badge-on_hold{background:#fff4e0;color:#b26a00}.badge-pipeline{background:#eef2ff;color:#4353c4}.badge-completed{background:var(--fill);color:var(--text-3)}.input,.select,.textarea{width:100%;padding:8px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:#fff;color:var(--text);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.input:focus,.select:focus,.textarea:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #57312a24}.field-label{font-size:12px;font-weight:600;color:var(--text-3);margin-bottom:4px;display:block}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--slate-500);padding:8px 10px;border-bottom:1px solid var(--border-strong)}.table td{padding:9px 10px;border-bottom:1px solid var(--slate-100);vertical-align:middle}.table tr:last-child td{border-bottom:none}.table tr.clickable{cursor:pointer}.table tr.clickable:hover td{background:var(--slate-50)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a59;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;padding:24px}.modal{background:#fff;border-radius:16px;box-shadow:0 24px 70px #0f172a3d;width:100%;max-width:560px;max-height:88vh;overflow:auto}.modal-header{padding:14px 20px;background:var(--slate-50);border-bottom:1px solid var(--slate-100);border-radius:16px 16px 0 0;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:1}.modal-body{padding:20px}.util-bar{height:8px;border-radius:4px;background:var(--slate-100);overflow:hidden;position:relative}.util-bar>div{height:100%;border-radius:4px;transition:width .3s ease}.avatar{width:32px;height:32px;border-radius:999px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff}.gantt-scroll{overflow-x:auto}.tooltip-card{background:#fff;border:1px solid var(--border);border-radius:8px;padding:8px 12px;box-shadow:0 8px 32px #0000001f;font-size:12px}.skeleton{animation:pulse 1.4s ease infinite;background:var(--slate-100);border-radius:8px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media(max-width:900px){.frame{padding:12px 14px;border-radius:12px}.page{padding:12px 12px 60px}.pill-nav a{padding:6px 10px;font-size:12px}.logo .sub{display:none}}
