:root{--gold:#c99a2e;--gold-light:#e7c15c;--gold-dark:#a87718;--green:#3e6b33;--green-dark:#2c4d24;--ink:#1c2419;--bg:#f6f5f1;--card:#fff;--text:#23301f;--muted:#6f7a6a;--border:#e6e3da;--ok:#2e8b57;--warn:#d9a514;--bad:#c0392b}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Helvetica Neue,Arial,sans-serif;background:radial-gradient(900px 500px at 85% -5%,rgba(201,154,46,.14),transparent 60%),radial-gradient(800px 600px at -5% 40%,rgba(62,107,51,.1),transparent 60%),radial-gradient(700px 500px at 70% 100%,rgba(231,193,92,.1),transparent 60%),var(--bg);background-attachment:fixed;color:var(--text);font-size:15px;line-height:1.5}a{color:var(--green);text-decoration:none}a:hover{color:var(--green-dark)}.shell{display:flex;min-height:100vh}.sidebar{width:248px;flex-shrink:0;background:linear-gradient(180deg,#fff,#fbf9f3 55%,#f5f1e7);border-right:1px solid var(--border);box-shadow:6px 0 28px -18px rgba(28,36,25,.35),inset -1px 0 0 hsla(0,0%,100%,.7);padding:22px 16px;display:flex;flex-direction:column;gap:4px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{gap:10px;padding:4px 8px 20px}.brand,.brand-mark{display:flex;align-items:center}.brand-mark{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--gold-light),var(--gold-dark));color:#fff;font-weight:800;font-size:15px;justify-content:center;box-shadow:0 4px 12px -4px rgba(168,119,24,.5)}.brand-name{font-weight:800;font-size:16.5px;color:var(--ink)}.menu-group{margin-bottom:14px}.menu-label{font-size:10.5px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:#a3ab9c;padding:8px 10px 6px}.sidebar a{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:12px;font-size:14px;font-weight:600;color:#55604d;transition:background .12s,color .12s}.sidebar a:hover{background:#f2f0e9;color:var(--ink)}.sidebar a.active{background:linear-gradient(135deg,var(--green),var(--green-dark));color:#fff;box-shadow:0 3px 10px -4px rgba(44,77,36,.5)}.sidebar a.active .mi{color:var(--gold-light)}.sidebar a .mi{width:20px;display:inline-flex;align-items:center;justify-content:center;color:#97a08e;flex-shrink:0}.sidebar a:hover .mi{color:var(--gold-dark)}.sidebar a{transition:background .15s,color .15s,transform .1s}.sidebar a:active{transform:scale(.98)}.sidebar-foot{margin-top:auto;padding:14px 10px 4px;border-top:1px solid var(--border)}.who-name{font-weight:700;font-size:13.5px;color:var(--ink)}.who-role{font-size:11.5px;color:var(--muted);margin:2px 0 10px}.sidebar-foot button{width:100%;background:#f2f0e9;color:var(--green-dark);border:none;padding:8px 12px;border-radius:10px;cursor:pointer;font-size:13px;font-weight:700}.sidebar-foot button:hover{background:#e8e4d8}.main{flex:1 1;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;padding:20px 34px 0}.hello{font-size:19px;font-weight:800;color:var(--ink)}.hello-sub{font-size:12.5px;color:var(--muted)}.topbar-user{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--border);border-radius:999px;padding:6px 8px 6px 16px;box-shadow:0 1px 3px rgba(28,36,25,.06);transition:box-shadow .15s,transform .15s}.topbar-user:hover{box-shadow:0 4px 14px -6px rgba(28,36,25,.3);transform:translateY(-1px)}.tu-text{display:flex;flex-direction:column;align-items:flex-end;line-height:1.25}.tu-name{font-weight:700;font-size:13.5px;color:var(--ink)}.tu-role{font-size:11px;color:var(--muted)}.tu-avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;border:2px solid var(--gold)}.tu-initials{background:linear-gradient(135deg,var(--gold-light),var(--gold-dark));font-weight:800;font-size:15px}.tu-initials,.view-banner{display:flex;align-items:center;justify-content:center;color:#fff}.view-banner{gap:14px;background:linear-gradient(135deg,#d9a514,var(--gold-dark));font-size:13.5px;font-weight:600;padding:9px 20px}.view-banner button{background:hsla(0,0%,100%,.2);color:#fff;border:1px solid hsla(0,0%,100%,.45);padding:5px 14px;border-radius:8px;cursor:pointer;font-weight:700;font-size:12.5px}.view-banner button:hover{background:hsla(0,0%,100%,.32)}@keyframes riseIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.container{animation:riseIn .28s ease-out;max-width:1140px;margin:22px auto 40px;padding:0 34px}.banner{background:radial-gradient(600px 220px at 90% -20%,rgba(201,154,46,.22),transparent),radial-gradient(500px 220px at 5% 120%,rgba(62,107,51,.16),transparent),hsla(0,0%,100%,.55);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border:1px solid hsla(0,0%,100%,.75);border-radius:20px;padding:22px 24px;margin-bottom:22px;box-shadow:0 8px 32px -12px rgba(28,36,25,.18),inset 0 1px 0 hsla(0,0%,100%,.9)}.banner h2{margin:0 0 2px;font-size:17px}.banner .sub{color:var(--muted);font-size:13px;margin-bottom:16px}@media (max-width:900px){.shell{flex-direction:column}.sidebar{width:100%;height:auto;position:static;flex-direction:row;flex-wrap:wrap;align-items:center}.menu-group{display:flex;margin:0}.menu-label,.sidebar-foot{display:none}.brand{padding-bottom:4px}}h1{font-size:24px;font-weight:800;margin:0 0 20px}h1,h2{color:var(--ink)}h2{font-size:16px;font-weight:700;margin:28px 0 12px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));grid-gap:20px;gap:20px}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:20px 22px;box-shadow:0 1px 3px rgba(28,36,25,.05),0 8px 24px -18px rgba(28,36,25,.25);transition:box-shadow .15s,transform .15s}.card:hover{box-shadow:0 2px 6px rgba(28,36,25,.07),0 14px 32px -18px rgba(28,36,25,.3)}.card h3{margin:0 0 14px;font-size:16px;font-weight:700}a.card-link{display:block;color:inherit;cursor:pointer}a.card-link:hover{border-color:var(--gold)}.card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:10px;border-top:1px solid var(--border)}.view-link{color:var(--green);font-size:13px;font-weight:700}a.card-link:hover .view-link{color:var(--gold-dark)}.tabs{gap:8px}.proj-switch,.tabs{display:flex;flex-wrap:wrap;margin:14px 0 20px}.proj-switch{align-items:center;gap:12px;background:hsla(0,0%,100%,.55);border:1px solid var(--border);border-radius:14px;padding:10px 14px}.proj-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}.proj-link{margin-left:auto;font-size:13px;font-weight:700;color:var(--green);padding:6px 12px;border-radius:8px;border:1px dashed rgba(62,107,51,.4)}.proj-link:hover{background:#eef0e8;border-style:solid}.tabs a{padding:7px 16px;border-radius:999px;font-size:13px;font-weight:600;background:#edeae2;color:#55604d;border:1px solid transparent}.tabs a.active{background:var(--green);color:#fff}.tabs a:hover:not(.active){border-color:var(--gold);color:var(--ink)}.check-list{display:flex;flex-direction:column;gap:8px}.check-list label{display:flex;align-items:center;gap:10px;font-size:14px;background:#faf9f5;border:1px solid var(--border);border-radius:9px;padding:10px 12px;cursor:pointer}.check-list input{width:17px;height:17px;accent-color:var(--green)}.grid.deals{grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}.deal-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.deal-company{font-weight:800;font-size:16px;color:var(--ink)}.deal-value{text-align:right}.deal-value .num{font-size:20px;font-weight:800;color:var(--green-dark);margin-top:4px}.badge.level-diamond{background:#e3edf7;color:#1d4f7c}.badge.level-platinum{background:#eceff1;color:#455a64}.badge.level-gold{background:#fdf3d5;color:#8a6d10}.badge.level-deal,.badge.level-other{background:#e8eee2;color:var(--green-dark)}.deal-facts{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px 18px;gap:8px 18px;margin:14px 0 0;padding-top:12px;border-top:1px solid var(--border)}.deal-facts div{display:flex;justify-content:space-between;gap:8px}.deal-facts dt{color:var(--muted);font-size:12.5px}.deal-facts dd{margin:0;font-size:13px;font-weight:600;color:var(--ink)}.deal-contact{margin-top:10px;font-size:12.5px}pre.tpl{white-space:pre-wrap;font-family:inherit;font-size:13.5px;margin:8px 0 0;background:#faf9f5;border:1px solid var(--border);border-radius:9px;padding:12px}.card h3 a{color:var(--ink)}.card h3 a:hover{color:var(--green)}.kpis{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:24px}.kpi{background:hsla(0,0%,100%,.5);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);border:1px solid hsla(0,0%,100%,.75);border-left:4px solid var(--gold);border-radius:14px;padding:14px 20px;min-width:150px;box-shadow:0 6px 24px -10px rgba(28,36,25,.18),inset 0 1px 0 hsla(0,0%,100%,.85);transition:transform .15s,box-shadow .15s}.kpi:hover{transform:translateY(-2px);box-shadow:0 10px 30px -12px rgba(28,36,25,.28),inset 0 1px 0 hsla(0,0%,100%,.85)}.kpi .num{font-size:26px;font-weight:800;color:var(--ink)}.kpi .lbl{font-size:12px;color:var(--muted);margin-top:2px}.bar-row{margin:12px 0;font-size:13px}.bar-row .lbl{display:flex;justify-content:space-between;margin-bottom:5px;color:#46523f;font-weight:500}.bar{background:#edeae2;height:10px;overflow:hidden}.bar,.bar .fill{border-radius:8px}.bar .fill{height:100%;transition:width .4s ease}.fill.green{background:linear-gradient(90deg,#2e8b57,#3cb371)}.fill.yellow{background:linear-gradient(90deg,#d9a514,var(--gold-light))}.fill.red{background:linear-gradient(90deg,#c0392b,#e06050)}.table-wrap{overflow-x:auto;border-radius:12px;box-shadow:0 1px 3px rgba(28,36,25,.05);margin-bottom:6px}.table-wrap table{box-shadow:none;margin:0;min-width:900px}.main{overflow-x:hidden}table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 1px 3px rgba(28,36,25,.05)}td,th{text-align:left;padding:11px 14px;font-size:13px;border-bottom:1px solid var(--border)}th{background:#f2f0e9;color:#55604d;font-weight:700;text-transform:uppercase;font-size:11px;letter-spacing:.4px}tr:last-child td{border-bottom:none}tbody tr:hover td{background:#faf9f5}.badge{display:inline-block;padding:3px 11px;border-radius:999px;font-size:11px;font-weight:700}.badge.PENDING{background:#fdf3d5;color:#8a6d10}.badge.APPROVED{background:#ddf0e2;color:#1d6b3d}.badge.REJECTED{background:#fbe2de;color:#96271b}.badge.role{background:#e8eee2;color:var(--green-dark)}.badge.OPEN{background:#ddf0e2;color:#1d6b3d}.badge.LOCKED{background:#fdf3d5;color:#8a6d10}.badge.SCHEDULED{background:#e0ecf7;color:#1d4f7c}.badge.COOLDOWN{background:#efe4f7;color:#6a3a8c}.badge.WON{background:#d6efd9;color:#135c26}.badge.GHOST,.badge.LOST{background:#fbe2de;color:#96271b}.badge.CONTROLLED{background:#fdf3d5;color:#8a6d10}.badge.OWNED{background:#e0ecf7;color:#1d4f7c}.badge.FORM_OUT{background:#efe4f7;color:#6a3a8c}.badge.FORM_IN{background:#ddf0e2;color:#1d6b3d}.badge.CONFIRMED{background:#d6efd9;color:#135c26}.badge.CLOSED{background:#fbe2de;color:#96271b}form.panel{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:22px;max-width:680px;box-shadow:0 1px 3px rgba(28,36,25,.05)}.frow{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:14px}.field{display:flex;flex-direction:column;gap:6px;flex:1 1;min-width:150px}.field label{font-size:12px;font-weight:700;color:#55604d}input,select,textarea{padding:10px 12px;border:1px solid #d5d1c5;border-radius:9px;font-size:14px;font-family:inherit;background:#fdfdfb;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,154,46,.18)}input:hover,select:hover{border-color:var(--gold)}input[type=date],input[type=datetime-local],input[type=month]{cursor:pointer;color:var(--text)}input[type=date]::-webkit-calendar-picker-indicator,input[type=datetime-local]::-webkit-calendar-picker-indicator,input[type=month]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.55;-webkit-transition:opacity .15s;transition:opacity .15s;padding:4px}input[type=date]:hover::-webkit-calendar-picker-indicator{opacity:1}select{cursor:pointer}table a{color:var(--green)}table a:hover{text-decoration:underline;color:var(--green-dark)}.dp{position:relative}.dp-input{display:flex;align-items:center;gap:8px;width:100%;padding:0 12px;height:41px;border:1px solid #d5d1c5;border-radius:9px;background:#fdfdfb;font-size:14px;font-family:inherit;color:var(--text);cursor:pointer;transition:border-color .15s,box-shadow .15s}.dp-input:focus,.dp-input:hover{border-color:var(--gold)}.dp-input:focus{outline:none;box-shadow:0 0 0 3px rgba(201,154,46,.18)}.dp-input svg{color:var(--gold-dark);flex-shrink:0}.dp-input.dp-empty span{color:#9aa093}.dp-input .dp-clear{margin-left:auto;color:#9aa093;font-size:12px;padding:2px 4px;border-radius:4px}.dp-input .dp-clear:hover{color:var(--bad);background:#f6eeec}.dp-caret{margin-left:auto;color:#9aa093;font-size:11px}.dp-pop{position:absolute;top:calc(100% + 6px);left:0;z-index:100;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 12px 40px -10px rgba(28,36,25,.35);padding:12px;min-width:264px;animation:riseIn .16s ease-out}.dp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.dp-title{font-weight:700;font-size:13.5px;color:var(--ink)}.dp-nav{width:28px;height:28px;border:none;border-radius:8px;background:#f2f0e9;font-size:16px;cursor:pointer;color:var(--green-dark);font-weight:700}.dp-nav:hover{background:var(--gold-light);color:#fff}.dp-grid{display:grid;grid-template-columns:repeat(7,34px);grid-gap:2px;gap:2px}.dp-wd{font-size:10.5px;font-weight:700;color:#a3ab9c;text-align:center;padding:4px 0;text-transform:uppercase}.dp-day{height:32px;border:none;background:none;border-radius:8px;font-size:13px;cursor:pointer;color:var(--text);font-family:inherit;transition:background .1s}.dp-day:hover{background:#f2f0e9}.dp-day.today{box-shadow:inset 0 0 0 1.5px var(--gold);font-weight:700}.dp-day.sel{background:linear-gradient(135deg,var(--green),var(--green-dark));color:#fff;font-weight:700}.dp-foot{display:flex;justify-content:flex-end;margin-top:8px}.dp-today{border:none;background:none;color:var(--green);font-weight:700;font-size:12.5px;cursor:pointer;padding:4px 8px;border-radius:6px;font-family:inherit}.dp-today:hover{background:#eef0e8}.ps-list{max-height:260px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.ps-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;font-size:13.5px;cursor:pointer}.ps-item:hover{background:#f2f0e9}.ps-item input{width:16px;height:16px;accent-color:var(--green)}.hbars{display:flex;flex-direction:column;gap:10px}.hbar{display:grid;grid-template-columns:110px 1fr auto;grid-gap:10px;gap:10px;align-items:center;font-size:12.5px}.hbar-label{font-weight:700;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hbar-track{background:#edeae2;border-radius:6px;height:14px;overflow:hidden}.hbar-fill{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,var(--green),var(--gold));animation:growBar .6s ease-out}@keyframes growBar{0%{width:0!important}}.hbar-val{color:var(--muted);white-space:nowrap}@media print{.no-print,.proj-switch,.sidebar,.topbar{display:none!important}.main{overflow:visible}body{background:#fff}.banner,.card,.kpi{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff}}table.compact td,table.compact th{padding:8px 9px;font-size:12.5px}.table-wrap table.compact{min-width:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:linear-gradient(135deg,var(--green),var(--green-dark));color:#fff;border:none;padding:0 20px;height:41px;border-radius:9px;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 2px 8px -2px rgba(44,77,36,.4);transition:filter .15s,transform .1s,box-shadow .15s;white-space:nowrap}.btn:hover{filter:brightness(1.08);color:#fff}a.btn,a.btn:hover{color:#fff}.btn.ghost:hover,a.btn.ghost,a.btn.ghost:hover{color:var(--green-dark)}.btn:active{transform:translateY(1px)}.btn.small{padding:0 13px;height:30px;font-size:12px}.btn.ghost{background:#eef0e8;color:var(--green-dark);box-shadow:none}.btn.gold{background:linear-gradient(135deg,var(--gold),var(--gold-dark))}.btn.danger{background:linear-gradient(135deg,#c0392b,#96271b);box-shadow:0 2px 8px -2px rgba(150,39,27,.4)}.btn:disabled{opacity:.6;cursor:default}.error{color:var(--bad);margin-top:8px}.error,.muted{font-size:13px}.muted{color:var(--muted)}.login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh;background:radial-gradient(1000px 500px at 80% -10%,rgba(201,154,46,.13),transparent),radial-gradient(800px 500px at -10% 110%,rgba(62,107,51,.12),transparent),var(--bg)}.login-box{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:40px 36px;width:380px;box-shadow:0 8px 40px -12px rgba(28,36,25,.28)}.login-box h1{text-align:center;background:linear-gradient(120deg,var(--gold-dark),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:4px}.login-box .sub{text-align:center;color:var(--muted);font-size:12.5px;margin:0 0 24px}.login-box .field{margin-bottom:14px}.login-box .btn{width:100%;margin-top:8px}@media (max-width:640px){.nav{gap:14px;padding:0 14px;overflow-x:auto}.nav .who{display:none}.container{margin:18px auto}}