:root{--ink:#17253b;--muted:#728096;--line:#e7eaf0;--paper:#fff;--bg:#f5f6f8;--gold:#bd9857;--gold2:#d8bd86;--navy:#142238;--green:#2c9a75;--shadow:0 12px 40px rgba(24,37,58,.08)}
*{box-sizing:border-box}html{font-size:16px}body{margin:0;color:var(--ink);font-family:"DM Sans",sans-serif;background:var(--bg);min-height:100vh}button,input,textarea,select{font:inherit}.hidden{display:none!important}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:.7rem;font-weight:700;color:var(--gold2)}.eyebrow.dark{color:#a17b3e}
.ambient{position:fixed;border-radius:50%;filter:blur(2px);pointer-events:none}.ambient-one{width:40vw;height:40vw;background:radial-gradient(circle,rgba(193,155,88,.11),transparent 65%);left:-15vw;bottom:-18vw}.ambient-two{width:36vw;height:36vw;background:radial-gradient(circle,rgba(88,111,146,.1),transparent 65%);right:-15vw;top:-16vw}
.brand-mark{width:42px;height:42px;border:1px solid rgba(255,255,255,.16);border-radius:13px;display:flex;align-items:flex-end;justify-content:center;gap:3px;padding:11px}.brand-mark span{display:block;width:4px;border-radius:3px;background:var(--gold2);transform:rotate(35deg)}.brand-mark span:nth-child(1){height:9px}.brand-mark span:nth-child(2){height:18px}.brand-mark span:nth-child(3){height:13px}.brand-mark.small{width:39px;height:39px}
.auth-shell{min-height:100vh;background:var(--navy);color:white;display:grid;grid-template-columns:minmax(380px,1fr) minmax(360px,480px);grid-template-rows:auto 1fr;gap:20px 10vw;padding:42px 8vw;position:relative;overflow:hidden}.auth-shell:after{content:"";position:absolute;width:620px;height:620px;border:1px solid rgba(255,255,255,.04);border-radius:50%;left:-260px;bottom:-380px;box-shadow:0 0 0 100px rgba(255,255,255,.015),0 0 0 200px rgba(255,255,255,.01)}.auth-brand,.brand{display:flex;align-items:center;gap:12px}.auth-brand strong,.brand strong{display:block;font:800 1.25rem Manrope}.auth-brand small,.brand small{display:block;color:#9ca8ba;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}.auth-copy{align-self:center;max-width:640px;z-index:1}.auth-copy h1{font:700 clamp(2.8rem,5vw,5.4rem)/1.02 Manrope;margin:18px 0 22px;letter-spacing:-.05em}.auth-copy>p{color:#acb7c7;line-height:1.8;max-width:570px;font-size:1.08rem}.feature-row{display:flex;gap:30px;margin-top:40px;color:#cbd2dc;font-size:.85rem}.feature-row span:before{content:"✓";color:var(--gold2);margin-right:9px}
.auth-card{align-self:center;background:white;color:var(--ink);border-radius:18px;padding:38px;box-shadow:0 28px 80px rgba(0,0,0,.22);z-index:2}.auth-card-head{display:flex;align-items:center;gap:8px;color:#6b7789;font-size:.78rem;margin-bottom:25px}.status-dot{width:8px;height:8px;background:var(--green);border-radius:50%;box-shadow:0 0 0 4px rgba(44,154,117,.1)}.auth-card h2{font:700 1.75rem Manrope;margin:0 0 8px}.auth-card>p{color:var(--muted);margin:0 0 24px}.auth-card label,.field label{display:block;font-size:.76rem;font-weight:700;margin-bottom:7px;color:#536176}.auth-card textarea{width:100%;resize:vertical;border:1px solid var(--line);border-radius:10px;padding:12px;outline:none;margin-bottom:14px}.auth-card textarea:focus,input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(189,152,87,.12)}.auth-card .auth-note{font-size:.7rem;text-align:center;margin:18px 0 0;color:#9aa4b2}.text-button,.link-button{border:0;background:none;color:#9b763b;cursor:pointer;font-weight:700;font-size:.78rem}.text-button{display:block;margin:16px auto 0}.login-fields{border-top:1px solid var(--line);padding-top:20px;margin-top:20px}
.app{display:block;min-height:100vh}.sidebar{background:var(--navy);color:white;display:flex;flex-direction:column;padding:28px 18px;position:fixed;inset:0 auto 0 0;width:245px;height:100vh;overflow-y:auto;z-index:20}.brand{padding:0 10px 35px;flex:none}.sidebar nav{display:flex;flex-direction:column;gap:6px;flex:none}.nav-item{border:0;background:transparent;color:#9faabd;border-radius:9px;text-align:left;padding:12px 14px;cursor:pointer;font-weight:600;font-size:.88rem;display:flex;align-items:center;gap:12px}.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.08);color:white}.nav-item.active{box-shadow:inset 2px 0 var(--gold2)}.nav-icon{width:19px;color:var(--gold2);font-size:1.1rem}.sidebar-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.08);padding:20px 8px 0}.api-state{display:flex;align-items:center;gap:10px}.api-state>i{width:8px;height:8px;border-radius:50%;background:#51bd8f}.api-state strong,.api-state small{display:block}.api-state strong{font-size:.75rem}.api-state small{font-size:.67rem;color:#8490a3;margin-top:2px}.logout-button{margin-top:17px;width:100%;border:0;color:#8e9bad;background:transparent;text-align:left;padding:8px 0;cursor:pointer;display:flex;justify-content:space-between;font-size:.76rem}
main{min-width:0;margin-left:245px;padding-top:72px}.topbar{height:72px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;position:fixed;top:0;right:0;left:245px;z-index:10}.breadcrumbs{font-size:.76rem;display:flex;gap:10px}.breadcrumbs span,.breadcrumbs b{color:#9aa3b1;font-weight:500}.user-chip{display:flex;align-items:center;gap:10px}.user-chip>span{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:#ede5d5;color:#8d6a32;font-weight:700;font-size:.7rem}.user-chip strong,.user-chip small{display:block}.user-chip strong{font-size:.75rem}.user-chip small{font-size:.66rem;color:#929cab}.menu-button{display:none;border:0;background:none;font-size:1.2rem}.content{padding:42px;max-width:1500px;margin:0 auto}.view{display:none}.view.active{display:block}.hero-head,.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:32px}.hero-head h1,.page-head h1{font:700 2rem Manrope;letter-spacing:-.035em;margin:8px 0 5px}.hero-head p,.page-head p{color:var(--muted);margin:0;font-size:.9rem}
.btn{border:0;border-radius:8px;padding:11px 17px;cursor:pointer;font-weight:700;font-size:.8rem;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.18s}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.6;cursor:wait;transform:none}.btn-primary{background:linear-gradient(135deg,#c5a364,#ad8546);color:#fff;box-shadow:0 7px 18px rgba(168,126,63,.18)}.btn-secondary{background:#f1f3f6;color:#576477}.btn-full{width:100%;justify-content:space-between;padding:13px 17px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:22px}.stat-card{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:23px;display:flex;gap:18px;box-shadow:0 5px 24px rgba(25,39,61,.035);position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;inset:auto 0 0;height:2px;background:var(--tone)}.stat-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:11px;color:var(--tone);background:color-mix(in srgb,var(--tone) 10%,white);font-size:1.3rem}.companies-tone{--tone:#bd9857}.services-tone{--tone:#637da4}.parents-tone{--tone:#6a9b8a}.stat-card span,.stat-card strong,.stat-card small{display:block}.stat-card span{color:var(--muted);font-size:.72rem}.stat-card strong{font:700 2rem Manrope;margin:5px 0}.stat-card small{font-size:.65rem;color:#98a1ae}.stat-card small i{display:inline-block;width:5px;height:5px;background:#3dab7f;border-radius:50%;margin-right:5px}
.overview-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);gap:22px}.panel{background:white;border:1px solid var(--line);border-radius:12px;box-shadow:0 5px 24px rgba(25,39,61,.035)}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:23px 25px;border-bottom:1px solid var(--line)}.panel h2,.quick-panel h2{font:700 1rem Manrope;margin:0 0 5px}.panel-head p{margin:0;font-size:.7rem;color:var(--muted)}.compact-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:15px 25px;border-bottom:1px solid #f0f2f5}.compact-row:last-child{border:0}.item-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:8px;background:#f1ede4;color:#98743b}.compact-row strong,.compact-row small{display:block}.compact-row strong{font-size:.79rem}.compact-row small{font-size:.66rem;color:#8792a1;margin-top:3px}.badge{font-size:.63rem;background:#e8f6f0;color:#278363;border-radius:20px;padding:5px 9px;font-weight:700}.empty{padding:45px 20px;text-align:center;color:#8b95a3;font-size:.8rem}.quick-panel{background:linear-gradient(150deg,#182941,#111e31);color:white;padding:26px;border-radius:12px;box-shadow:var(--shadow)}.quick-panel h2{font-size:1.2rem;margin:9px 0 20px}.quick-panel>button{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.08);background:transparent;color:white;padding:15px 0;display:grid;grid-template-columns:auto 1fr auto;text-align:left;align-items:center;gap:12px;cursor:pointer}.quick-panel>button:last-child{border:0}.quick-icon{width:37px;height:37px;border:1px solid rgba(212,180,120,.28);border-radius:8px;display:grid;place-items:center;color:var(--gold2)}.quick-panel strong,.quick-panel small{display:block}.quick-panel strong{font-size:.76rem}.quick-panel small{font-size:.65rem;color:#8997aa;margin-top:3px}.quick-panel b{color:var(--gold2)}
.table-panel{overflow:hidden}.table-tools{padding:17px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:#8b95a3;font-size:.7rem}.search{display:flex;align-items:center;gap:8px;background:#f6f7f9;border:1px solid #edf0f3;border-radius:8px;padding:0 11px;width:min(340px,70vw)}.search input{width:100%;border:0;outline:0;background:transparent;padding:9px 0;font-size:.75rem;box-shadow:none}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th{background:#fafbfc;color:#8a94a3;text-transform:uppercase;letter-spacing:.08em;font-size:.61rem;padding:11px 22px}td{border-top:1px solid #f0f2f4;padding:15px 22px;font-size:.76rem;color:#5e6b7e}td strong{display:block;color:var(--ink);font-size:.78rem}td small{display:block;color:#9aa3b0;font-size:.63rem;margin-top:3px}.code{font-family:monospace;background:#f4f5f7;padding:4px 7px;border-radius:5px;color:#5c697b}.status{display:inline-flex;align-items:center;gap:5px;font-size:.65rem;font-weight:700;color:#278363}.status:before{content:"";width:5px;height:5px;border-radius:50%;background:#42af84}
.actions-cell{text-align:right;white-space:nowrap}.edit-button{border:1px solid #e1e5eb;background:#fff;color:#6a7586;border-radius:7px;padding:6px 10px;cursor:pointer;font-size:.68rem;font-weight:700}.edit-button:hover{border-color:var(--gold);color:#987238;background:#fdfbf7}
.modal-backdrop{position:fixed;inset:0;background:rgba(11,20,34,.55);backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px;z-index:50}.modal{width:min(560px,100%);max-height:calc(100vh - 40px);overflow:auto;background:white;border-radius:15px;box-shadow:0 30px 90px rgba(0,0,0,.25);position:relative}.modal-accent{height:4px;background:linear-gradient(90deg,var(--gold),#e1c995)}.modal header{display:flex;justify-content:space-between;padding:27px 30px 18px}.modal header h2{font:700 1.4rem Manrope;margin:7px 0 4px}.modal header p{margin:0;color:var(--muted);font-size:.76rem}.modal header button{border:0;background:#f1f3f5;border-radius:50%;width:30px;height:30px;cursor:pointer;color:#697586;font-size:1.2rem}.modal form{padding:0 30px 27px}.field{margin:14px 0}.field input,.field select,.field textarea{width:100%;border:1px solid #dfe3e9;border-radius:8px;padding:11px 12px;outline:none;color:var(--ink);background:white;font-size:.8rem}.field textarea{resize:vertical}.field-hint{font-size:.65rem;color:#929ba8;margin:5px 0 0}.modal footer{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid var(--line);padding-top:20px;margin-top:22px}.toast-container{position:fixed;right:22px;bottom:22px;z-index:100;display:flex;flex-direction:column;gap:9px}.toast{background:#17253b;color:white;border-radius:9px;padding:13px 16px;min-width:280px;box-shadow:0 12px 35px rgba(0,0,0,.2);font-size:.76rem;border-left:3px solid #47b488;animation:toastIn .25s ease}.toast.error{border-color:#db6c67}.toast strong{display:block;margin-bottom:3px}.toast span{color:#c1c9d4}@keyframes toastIn{from{transform:translateY(10px);opacity:0}}
@media(max-width:950px){.auth-shell{grid-template-columns:1fr;padding:30px 7vw}.auth-copy{padding-top:60px}.auth-copy h1{font-size:3rem}.auth-card{margin:10px auto 40px;width:min(480px,100%)}.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none}.sidebar.open:after{content:"";position:fixed;left:245px;inset-block:0;width:calc(100vw - 245px);background:rgba(10,20,34,.4)}main{margin-left:0}.topbar{left:0}.menu-button{display:block}.breadcrumbs{margin-right:auto;margin-left:15px}.stats{grid-template-columns:1fr}.overview-grid{grid-template-columns:1fr}.content{padding:28px 22px}}@media(max-width:600px){.auth-shell{padding:24px}.auth-copy{padding-top:35px}.auth-copy h1{font-size:2.45rem}.feature-row{display:none}.auth-card{padding:26px}.topbar{padding:0 18px}.user-chip div{display:none}.content{padding:25px 15px}.hero-head,.page-head{align-items:flex-start;flex-direction:column}.hero-head .btn,.page-head .btn{width:100%}.stat-card{padding:18px}.table-tools>span{display:none}.search{width:100%}.modal header,.modal form{padding-left:22px;padding-right:22px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
