:root{--bg: #f4ede3;--bg-accent: #fbf7f2;--panel: #fffdfa;--panel-strong: #fff7ee;--line: #e8dac8;--ink: #2a1d12;--muted: #6f5c4a;--accent: #b9491e;--accent-strong: #8f3311;--accent-soft: #f8b26b;--ok: #0f766e;--warn: #9a3412;--danger: #b91c1c;--shadow: 0 24px 50px rgba(73, 42, 20, .14)}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:Manrope,sans-serif;background:radial-gradient(circle at 8% 12%,rgba(185,73,30,.2),transparent 28%),radial-gradient(circle at 88% 10%,rgba(248,178,107,.24),transparent 35%),linear-gradient(160deg,var(--bg) 0%,var(--bg-accent) 100%)}h1,h2,h3,strong{font-family:Sora,sans-serif}.loader{min-height:100vh;display:grid;place-items:center}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(440px,100%);padding:30px;border-radius:22px;border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow)}.auth-logo-wrap{display:flex;justify-content:center;margin-bottom:14px}.auth-logo{width:132px;height:132px;object-fit:contain}.auth-card p{color:var(--muted)}.auth-card form{display:grid;gap:10px}.layout{min-height:100vh;display:grid;grid-template-columns:288px 1fr}.sidebar-backdrop{display:none}.sidebar{border-right:1px solid var(--line);background:#fff9f2e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:20px;display:flex;flex-direction:column;gap:10px}.brand{display:flex;gap:10px;align-items:center}.logo{width:42px;height:42px;border-radius:12px;object-fit:contain;background:#fff;border:1px solid var(--line)}.brand small{color:var(--muted)}.sidebar nav{margin-top:14px;display:grid;gap:8px}.sidebar nav button{display:flex;align-items:center;justify-content:flex-start;gap:8px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--ink);padding:10px}.sidebar nav button.active{background:#fff;border-color:var(--line);color:var(--ink);box-shadow:0 8px 18px #492a1414}.sidebar nav button:hover{background:var(--panel-strong);box-shadow:none;transform:none}.sidebar-footer{margin-top:auto;padding-top:14px;border-top:1px solid var(--line);display:grid;gap:10px}.sidebar-footer p{margin:0}.sidebar-footer small{color:var(--muted)}.sidebar-user-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.main{padding:24px}.top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.top-heading{display:flex;gap:12px;align-items:flex-start}.mobile-nav-toggle{display:none}.top p{color:var(--muted);margin-top:6px}.stack{display:grid;gap:12px}.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:0 14px 28px #432a1614}.banner{margin-bottom:12px;border:1px solid #fed7aa;color:#9a3412;background:#fff7ed;padding:10px 12px;border-radius:12px}.error{color:var(--danger)}.error-box{margin-bottom:12px;background:#ffe4e6;border:1px solid #fecdd3;color:#881337;border-radius:10px;padding:10px}form{display:grid;gap:10px}label{display:grid;gap:5px;font-size:.92rem}input,select,textarea,button,.btn-inline{font:inherit;color:inherit;border-radius:10px;border:1px solid var(--line);padding:10px 12px;background:#fff}textarea{min-height:96px;resize:vertical}button,.btn-inline{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;cursor:pointer;background:linear-gradient(130deg,var(--accent),#d56a38);color:#fff;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease}button:hover,.btn-inline:hover{transform:translateY(-1px);box-shadow:0 8px 18px #8f331133}button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.btn{min-width:120px}.btn-ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}.competency-card .competency-header{display:flex;justify-content:space-between;gap:16px;align-items:center}.competency-header p{margin-top:6px;margin-bottom:0;color:var(--muted)}.competency-actions{display:flex;align-items:center;gap:8px}.mini-kpis{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mini-kpis>div{border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--panel-strong)}.mini-kpis span{color:var(--muted);font-size:.88rem}.mini-kpis strong{display:block;margin-top:6px;font-size:1.35rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.week-header span{text-align:center;color:var(--muted);font-size:.85rem}.days-grid{margin-top:10px}.day-cell{min-height:106px;border:1px solid var(--line);border-radius:10px;padding:8px;position:relative;background:#fff}.day-cell.tooltip-open,.day-cell:focus-visible{border-color:var(--accent);outline:2px solid rgba(185,73,30,.18);outline-offset:2px}.day-cell.muted{background:#f4f0ea;border-style:dashed}.day-top{font-size:.9rem;margin-bottom:6px}.event-pill{margin-top:4px;padding:2px 6px;border-radius:999px;font-size:.7rem;width:fit-content}.event-pill.pending{background:#ffedd5;color:#9a3412}.event-pill.approved{background:#dcfce7;color:#166534}.tooltip-card{position:fixed;width:min(320px,calc(100vw - 24px));max-height:calc(100vh - 24px);z-index:60;overflow:auto;overscroll-behavior:contain;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 16px 36px #00000026;padding:8px;scrollbar-width:thin}.tooltip-item{border:1px solid var(--line);border-radius:8px;padding:8px;margin-bottom:6px}.tooltip-item:last-child{margin-bottom:0}.tooltip-item p{margin:4px 0;font-size:.8rem}.tooltip-item button{margin-top:4px;padding:6px 8px;font-size:.78rem}.table-topbar{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}.filter-grid{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:10px}.client-filter-grid{grid-template-columns:minmax(240px,520px)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:8px;border-bottom:1px solid var(--line);font-size:.86rem}th{color:var(--muted);font-size:.8rem}.actions{display:flex;gap:6px;flex-wrap:wrap}.actions button{padding:6px 8px;font-size:.76rem}.actions .danger,.danger{background:#dc2626}.muted-label{display:block;margin-top:4px;color:var(--muted)}.row-highlight{background:#fff7ed}.empty-state{color:var(--muted);font-size:.9rem;margin:12px 0 0}.list{display:grid;gap:8px;max-height:460px;overflow:auto}.list>div{border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff}.list small{color:var(--muted)}.quote-cards{display:none}.quote-card{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff;margin-bottom:10px}.quote-card header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.quote-card header span{font-size:.78rem;color:var(--muted)}.quote-card p{margin:4px 0;font-size:.9rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#17100a7a;display:grid;place-items:center;z-index:50;padding:20px}.modal-card{width:min(980px,100%);max-height:92vh;overflow:auto;border-radius:16px;border:1px solid var(--line);background:var(--panel);padding:16px}.modal-card-sm{width:min(520px,100%)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.icon-btn{width:32px;height:32px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--ink)}.modal-form{display:grid;gap:10px}.row{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.search-field{display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;background:#fff;padding:0 10px}.search-field input{border:none;outline:none;padding:10px 8px;width:100%}.search-list{border:1px solid var(--line);border-radius:10px;max-height:140px;overflow:auto;background:#fff}.search-list button{width:100%;text-align:left;border:none;border-bottom:1px solid var(--line);border-radius:0;background:#fff;color:var(--ink);padding:8px}.search-list button:last-child{border-bottom:none}.subtypes-wrap{border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff}.subtype-card{border:1px solid var(--line);border-radius:12px;padding:10px;margin-top:10px;background:var(--panel-strong)}.subtype-head{display:flex;gap:10px;align-items:end}.subtype-head label{flex:1}.items-list{display:grid;gap:8px;margin:10px 0}.item-row{display:grid;grid-template-columns:1fr auto;gap:8px}.card-soft{border:1px solid var(--line);border-radius:12px;background:var(--panel-strong);padding:10px}.rules-select,.rules-checks{display:grid;gap:8px}.rule-check{border:1px solid var(--line);border-radius:10px;background:#fff;padding:8px;display:flex;align-items:flex-start;gap:8px}.rule-check input{margin-top:3px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}@media(max-width:1120px){.layout{grid-template-columns:1fr}.main{padding:16px}.top,.top-heading{align-items:center}.mobile-nav-toggle{display:inline-flex;width:38px;height:38px;border-radius:12px;align-items:center;justify-content:center;padding:0}.sidebar{position:fixed;z-index:60;top:0;left:0;bottom:0;width:min(86vw,320px);transform:translate(-105%);transition:transform .24s ease;border-right:1px solid var(--line)}.sidebar.open{transform:translate(0)}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;border:none;background:#20110870;opacity:0;pointer-events:none;transition:opacity .2s ease}.sidebar-backdrop.show{opacity:1;pointer-events:auto}.split,.filter-grid,.row,.mini-kpis{grid-template-columns:1fr}.tooltip-card{width:calc(100vw - 24px);max-height:min(420px,calc(100vh - 24px))}.quote-table-wrap{display:none}.quote-cards{display:block;margin-top:8px}.subtype-head{flex-direction:column;align-items:stretch}.item-row{grid-template-columns:1fr}}@media(max-width:720px){.auth-shell{padding:14px}.auth-card{padding:20px;border-radius:16px}.auth-logo{width:108px;height:108px}.top{flex-direction:column;align-items:stretch}.top .btn{width:100%}.competency-card .competency-header{flex-direction:column;align-items:flex-start}.calendar-grid{gap:6px}.day-cell{min-height:86px}.week-header span{font-size:.75rem}.modal-overlay{padding:10px}.modal-card{padding:12px;border-radius:14px;max-height:95vh}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%}}
