:root{--navy:#102e4f;--blue:#1769e0;--green:#0d9b6a;--amber:#e58a12;--red:#d9434f;--violet:#7451d4;--ink:#14243a;--muted:#607087;--line:#dfe7f1;--bg:#f4f7fb}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 Arial,sans-serif}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}input,select,textarea{width:100%;border:1px solid #cbd7e5;border-radius:8px;padding:10px;background:#fff;color:var(--ink)}label{display:grid;gap:6px;font-size:13px;font-weight:700}.button{display:inline-flex;justify-content:center;border:0;border-radius:9px;padding:11px 17px;background:linear-gradient(135deg,#1769e0,#0d57c2);color:#fff;font-weight:750;box-shadow:0 6px 16px #1769e026}.button.outline{background:#fff;color:var(--navy);border:1px solid #cbd7e5;box-shadow:none}.button.dark{background:var(--navy)}.pill{display:inline-flex;border-radius:99px;padding:5px 10px;font-size:10px;font-weight:850;letter-spacing:.06em}.pill.green{background:#e4f7ef;color:#087a54}.seal{width:45px;height:45px;display:grid;place-items:center;border:2px solid #c99a2e;border-radius:50%;background:#fff9e7;color:#765410;font-weight:850}.public-head{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 7vw;background:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px}.brand>span:last-child{display:flex;flex-direction:column}.brand small{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.brand b{font-size:19px;color:var(--navy)}.brand em{font-size:10px;color:var(--muted);font-style:normal}.public-head nav{display:flex;align-items:center;gap:22px;font-size:13px;font-weight:700}.hero{min-height:590px;padding:65px 7vw;display:grid;grid-template-columns:1.08fr .92fr;gap:7vw;align-items:center;background:radial-gradient(circle at 85% 10%,#e6f3ff 0,transparent 36%),linear-gradient(120deg,#f8fbff,#fff 55%,#f4f9ff)}.hero h1{font-size:clamp(44px,5vw,67px);line-height:1.04;letter-spacing:-.045em;color:var(--navy);margin:20px 0}.hero h1 i{color:var(--blue);font-style:normal}.hero>div>p{font-size:18px;color:#52667d;max-width:640px}.hero-actions{display:flex;gap:10px;margin:28px 0}.checks{color:#52677d;font-size:12px;font-weight:700}.hero aside{background:linear-gradient(145deg,#102e4f,#174369);color:#fff;border-radius:20px;padding:26px;box-shadow:0 28px 62px #102e4f42}.hero aside small{color:#a8c0d8;letter-spacing:.12em}.hero aside h2{font-size:25px;margin:5px 0}.hero aside>p{margin:0 0 18px;color:#bed0e2}.calendar-demo{background:#fff;color:var(--ink);border-radius:14px;padding:17px}.calendar-demo>div{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-top:12px}.calendar-demo span{display:grid;place-items:center;height:31px;border-radius:6px;font-size:10px}.calendar-demo .green{background:#e4f7ef;color:#087a54}.calendar-demo .red{background:#ffeaec;color:#b82936}.metrics{display:grid;grid-template-columns:repeat(4,1fr);padding:22px 7vw;background:#fff;border-block:1px solid var(--line)}.metrics span{text-align:center;border-right:1px solid var(--line);color:var(--muted)}.metrics span:last-child{border:0}.metrics b{font-size:21px;color:var(--blue);margin-right:8px}.process{padding:75px 7vw;background:#f7faff}.process>header{text-align:center}.process>header small{color:var(--blue);font-weight:850;letter-spacing:.12em}.process>header h2{font-size:36px;color:var(--navy)}.process>div{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.process article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:23px}.process article i{color:var(--blue);font-weight:850}.process article h3{color:var(--navy)}.process article p{color:var(--muted);font-size:13px}
.auth-page{min-height:100vh;padding:65px 20px 20px;display:grid;place-items:center;background:radial-gradient(circle at 15% 10%,#dceeff,transparent 35%),#f4f8fc}.back{position:fixed;top:22px;left:27px;font-weight:700}.auth-box{width:min(1030px,100%);display:grid;grid-template-columns:.86fr 1.14fr;background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 28px 70px #102e4f2c}.auth-box aside{background:linear-gradient(145deg,#102e4f,#1c507e);color:#fff;padding:48px 43px;display:flex;flex-direction:column;justify-content:center}.seal.large{width:68px;height:68px;margin-bottom:22px}.auth-box aside h1{font-size:34px;line-height:1.12;margin:17px 0 6px}.auth-box aside>p{color:#bed1e3}.auth-box aside ul{list-style:'✓  ';display:grid;gap:9px;margin-top:28px;color:#dce7f2}.auth-box form{padding:38px 46px;display:grid;gap:14px}.auth-box form header small,.page-title small{color:var(--blue);letter-spacing:.12em;font-weight:850}.auth-box form h2{font-size:29px;color:var(--navy);margin:4px 0}.auth-box form header p{color:var(--muted);margin:0}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.captcha{display:grid;grid-template-columns:135px 1fr;gap:10px}.captcha b{display:grid;place-items:center;background:#eef2f7;border:1px dashed #91a3b8;border-radius:8px;font:800 20px serif}.check{display:flex;align-items:flex-start;gap:8px;font-size:11px;font-weight:500;color:var(--muted)}.check input{width:16px;height:16px}.auth-links{display:flex;justify-content:space-between;font-size:12px;color:var(--blue);font-weight:750}
.portal{min-height:100vh;display:grid;grid-template-columns:246px 1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:246px;padding:15px 12px;background:var(--navy);color:#dce7f2;display:flex;flex-direction:column}.side-brand{display:flex;align-items:center;gap:9px;padding:2px 7px 16px;border-bottom:1px solid #ffffff20}.side-brand>span:last-child,.profile span{display:flex;flex-direction:column}.side-brand small,.profile small{font-size:10px;color:#9fb7cf}.profile{display:flex;align-items:center;gap:9px;background:#ffffff12;border:1px solid #ffffff17;border-radius:9px;padding:10px;margin:16px 4px}.profile>i{width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:#2d74b9;font-style:normal;font-weight:850}.sidebar nav{display:grid;gap:4px}.sidebar nav a{padding:10px;border-radius:8px;color:#bed0e1;font-size:12px;font-weight:700}.sidebar nav a.active,.sidebar nav a:hover{background:#fff;color:var(--navy)}.sidebar form{margin-top:auto}.sidebar form button{width:100%;border:0;border-top:1px solid #ffffff20;background:none;color:#bed0e1;text-align:left;padding:14px 10px}.portal-main{grid-column:2;min-width:0}.portal-main>header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 27px;background:#fff;border-bottom:1px solid var(--line)}.portal-main>header small{color:var(--blue);font-size:9px;letter-spacing:.13em;font-weight:850}.portal-main>header h1{font-size:20px;color:var(--navy);margin:1px 0}.portal-main>header p{margin:0;color:var(--muted);font-size:10px}.portal-main>footer{text-align:center;color:#8291a3;font-size:10px;padding:13px;border-top:1px solid var(--line)}.content{padding:25px 28px 45px;max-width:1600px;margin:auto}.page-title{display:flex;justify-content:space-between;align-items:flex-end;gap:15px;margin-bottom:20px}.page-title h2{font-size:27px;color:var(--navy);margin:3px 0}.page-title p{margin:0;color:var(--muted);font-size:12px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.kpis article{background:#fff;border:1px solid var(--line);border-top:3px solid var(--blue);border-radius:12px;padding:16px;display:flex;flex-direction:column}.kpis article.amber{border-top-color:var(--amber)}.kpis article.green{border-top-color:var(--green)}.kpis article.violet{border-top-color:var(--violet)}.kpis b{font-size:23px;color:var(--navy)}.kpis span{font-size:10px;color:var(--muted)}.panel{background:#fff;border:1px solid var(--line);border-radius:13px;padding:18px;box-shadow:0 5px 18px #102e4f0b}.booking-form{max-width:900px;display:grid;gap:13px}.auto{background:#e4f7ef;color:#087653;padding:8px;border-radius:7px;font-size:11px}.fee-box{display:grid;gap:6px;background:#f3f7fb;border-radius:9px;padding:13px}.fee-box span,.fee-box strong{display:flex;justify-content:space-between;font-size:11px}.fee-box strong{border-top:1px solid var(--line);padding-top:7px}.table-wrap{overflow:auto;padding:0}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:11px}th{text-align:left;background:#f1f5f9;color:#53667b;font-size:9px;text-transform:uppercase;padding:10px;border-bottom:1px solid var(--line)}td{padding:11px;border-bottom:1px solid var(--line)}td small{display:block;color:var(--muted);font-size:9px}.status{display:inline-block;background:#fff3dc;color:#925b08;border-radius:99px;padding:4px 8px;font-size:9px;font-weight:800}.inline-upload{display:grid;grid-template-columns:110px 130px 180px auto;gap:5px}.inline-upload input{padding:6px;font-size:9px}.inline-upload .button,td .button{padding:7px;font-size:9px}.toast{position:fixed;right:24px;bottom:24px;z-index:50;max-width:460px;background:#087653;color:#fff;padding:13px 18px;border-radius:9px;box-shadow:0 12px 30px #102e4f32;font-weight:700}.toast.error{background:var(--red)}
@media(max-width:900px){.hero{grid-template-columns:1fr}.process>div{grid-template-columns:1fr 1fr}.portal{grid-template-columns:78px 1fr}.sidebar{width:78px}.side-brand>span:last-child,.profile span,.sidebar nav a{font-size:0}.sidebar nav a:before{content:'•';font-size:22px}.profile{justify-content:center}.portal-main{grid-column:2}.kpis{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.public-head{padding:0 13px}.public-head nav a:not(.button){display:none}.brand small{display:none}.brand b{font-size:15px}.hero{padding:45px 16px}.hero h1{font-size:42px}.hero-actions{flex-wrap:wrap}.metrics{grid-template-columns:1fr 1fr;padding:13px}.metrics span{padding:8px}.process{padding:50px 16px}.process>div{grid-template-columns:1fr}.auth-box{grid-template-columns:1fr}.auth-box aside{padding:27px}.auth-box aside ul{display:none}.auth-box form{padding:26px 20px}.two{grid-template-columns:1fr}.portal{display:block}.sidebar{position:fixed;inset:auto 0 0;width:100%;height:62px;padding:5px;z-index:20}.side-brand,.profile,.sidebar form{display:none}.sidebar nav{display:flex;overflow:auto}.sidebar nav a{font-size:8px;min-width:80px;text-align:center;padding:6px}.sidebar nav a:before{display:none}.portal-main{padding-bottom:62px}.portal-main>header{height:68px;padding:0 13px}.content{padding:18px 11px}.page-title{align-items:flex-start;flex-direction:column}.kpis{grid-template-columns:1fr 1fr}.inline-upload{grid-template-columns:1fr}}

/* Phase 2 vibrant official theme */
body{font-size:16px;background:linear-gradient(135deg,#edf5ff,#f7f2ff 58%,#ecf9f5)}
.public-head{border-top:5px solid transparent;border-image:linear-gradient(90deg,#ff8a00 0 33%,#fff 33% 66%,#07966f 66%) 1;box-shadow:0 5px 20px #163b7314}
.public-head .button{background:linear-gradient(135deg,#7047d7,#145fe7)}
.hero{background:radial-gradient(circle at 8% 18%,#ffd79c66,transparent 25%),radial-gradient(circle at 92% 8%,#d8c8ff7a,transparent 28%),linear-gradient(125deg,#fff9ef,#f2f7ff 48%,#f1ebff)}
.hero h1 i{color:#5b3ed0}.hero aside{background:linear-gradient(145deg,#0d55b7,#313c98 48%,#6c38b6);box-shadow:0 28px 65px #31309055}
.hero-actions .button:first-child{background:linear-gradient(135deg,#145fe7,#7047d7)}.hero-actions .button.outline{border:2px solid #7047d7;color:#5733b7}
.metrics{gap:12px;background:linear-gradient(90deg,#eff6ff,#f7f1ff,#eefbf7)}.metrics span{border:0;border-radius:12px;padding:17px;box-shadow:0 7px 18px #133a6c14;font-weight:700}.metrics span:nth-child(1){background:#dfeeff;color:#0b4ba9}.metrics span:nth-child(2){background:#eee6ff;color:#5b35b7}.metrics span:nth-child(3){background:#dff8ee;color:#067453}.metrics span:nth-child(4){background:#fff0d5;color:#a65a00}
.process{background:linear-gradient(135deg,#e9f3ff,#f4efff 52%,#e8faf4)}.process article{border:0;box-shadow:0 13px 30px #16376a1c}.process article:nth-child(1){border-top:5px solid #1769e0;background:linear-gradient(145deg,#fff,#e7f1ff)}.process article:nth-child(2){border-top:5px solid #07966f;background:linear-gradient(145deg,#fff,#e1f8ef)}.process article:nth-child(3){border-top:5px solid #7047d7;background:linear-gradient(145deg,#fff,#eee7ff)}.process article:nth-child(4){border-top:5px solid #ee5d41;background:linear-gradient(145deg,#fff,#fff0e7)}
.auth-page{background:radial-gradient(circle at 8% 8%,#ffd899,transparent 27%),radial-gradient(circle at 90% 12%,#d9c8ff,transparent 28%),linear-gradient(135deg,#eaf4ff,#fff8ee)}.auth-box aside{background:linear-gradient(150deg,#0b4fa9,#31398c 52%,#6833a9)}
.sidebar{background:linear-gradient(180deg,#0c4da0,#173477 46%,#3f267a);box-shadow:7px 0 25px #142c681c}.profile{background:linear-gradient(135deg,#28a9e059,#a05bdb57)}.sidebar nav a.active{background:linear-gradient(90deg,#fff,#eaf3ff);color:#11396e;box-shadow:0 7px 17px #091c4b38}.portal-main>header{background:linear-gradient(90deg,#fff,#eef5ff 58%,#f4efff)}
.page-title h2{font-size:29px;color:#12386f}.kpis article{min-height:82px;border:0;box-shadow:0 11px 24px #1635681f}.kpis article:not(.amber):not(.green):not(.violet){background:linear-gradient(135deg,#ddecff,#fff);border-left:5px solid #1769e0}.kpis article.amber{background:linear-gradient(135deg,#fff0cf,#fff);border-left:5px solid #e98505}.kpis article.green{background:linear-gradient(135deg,#daf6e9,#fff);border-left:5px solid #07966f}.kpis article.violet{background:linear-gradient(135deg,#ece3ff,#fff);border-left:5px solid #7047d7}
.panel{border:1px solid #d4e1f1;box-shadow:0 10px 25px #17366517}th{background:linear-gradient(90deg,#123d79,#4d328f);color:#fff}tbody tr:nth-child(even){background:#f7faff}tbody tr:hover{background:#eaf3ff}.booking-form{border-top:5px solid #1769e0}.status{background:#e8e1ff;color:#5634aa}.decision-form{display:grid;grid-template-columns:1fr auto auto;gap:5px}.adjustment-form{margin-top:16px;border-top:5px solid #e98505}.report-links{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}.report-links a:first-child{border-top:5px solid #1769e0;background:linear-gradient(145deg,#fff,#e7f1ff)}.report-links a:last-child{border-top:5px solid #07966f;background:linear-gradient(145deg,#fff,#e1f8ef)}.report-links a{display:flex;flex-direction:column}.report-links b{color:#12386f;font-size:18px}.report-links span{color:var(--muted);font-size:12px}.content details{border-top:1px solid var(--line);padding:12px}.content summary{font-weight:750;color:#153d77}
#live-calendar{background:linear-gradient(145deg,#edf5ff,#f5efff);border:1px solid #cfdcf0;border-radius:12px;padding:15px}#live-calendar header{display:flex;align-items:center;justify-content:center;gap:25px;margin-bottom:12px}#live-calendar header b{font-size:18px;color:#12386f}#live-calendar header button{width:34px;height:34px;border:1px solid #cbd8ea;background:#fff;border-radius:8px;color:#4e35ae;font-size:20px}.live-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.live-calendar-grid>b{text-align:center;color:#617188;font-size:10px}.live-calendar-grid>i,.live-calendar-grid>button{height:55px;border-radius:8px}.live-calendar-grid>button{display:flex;flex-direction:column;align-items:flex-start;border:1px solid;padding:7px}.live-calendar-grid button small{font-size:8px}.live-calendar-grid .free{background:#dcf8ec;border-color:#8ed9bc;color:#04724e}.live-calendar-grid .booked{background:#ffe3e7;border-color:#f2abb5;color:#b62236}.live-calendar-grid .pending{background:#fff0c8;border-color:#ebca83;color:#925500}.live-calendar-grid .blocked,.live-calendar-grid .past{background:#e7edf4;border-color:#ccd5e1;color:#7a8798}.live-calendar-grid .selected{outline:4px solid #07966f3d;box-shadow:0 5px 13px #087a542b}.live-calendar-grid .loading{grid-column:1/-1;padding:30px;text-align:center;color:#5c6c82}.live-calendar-grid .error{color:#bd2638}
@media(max-width:760px){.report-links{grid-template-columns:1fr}.decision-form{grid-template-columns:1fr}.page-title h2{font-size:25px}.live-calendar-grid>i,.live-calendar-grid>button{height:45px}.live-calendar-grid button small{display:none}}
