@import url('/static/fonts.css');
:root{color-scheme:dark;--bg:#13151b;--panel:#202229;--border:#393a44;--text:#f6f4f5;--muted:#a9abb8;--coral:#ff9c87;--pink:#f36b9c;--blue:#7dd3fc;--green:#9be7a4;--yellow:#f9df65;--red:#ffa0a7;--neon:#39ff85;--gray:#9ca3af;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 90% 0,#4c2b382f,transparent 45%),var(--bg);color:var(--text);min-height:100vh}button,input,select,textarea{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid #43434c;border-radius:10px;color:var(--text);background:linear-gradient(#30313a,#24252d);padding:10px 15px;transition:background .15s,transform .15s}button:hover{border-color:#e19d9c;background:#39343e}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--coral);outline-offset:3px}button.primary{background:linear-gradient(110deg,var(--coral),var(--pink));color:#21161d;border-color:#ffacaf;font-weight:700;box-shadow:0 3px 18px #ed76951c}button.ghost{background:transparent;border-color:transparent}button.small{padding:6px 10px;font-size:12px}input,select,textarea{width:100%;background:#181a21;border:1px solid #41414c;border-radius:9px;padding:11px 12px;color:var(--text);min-width:0}textarea{resize:vertical;min-height:100px}input[type=checkbox]{width:18px;height:18px;accent-color:var(--pink)}input[type=file]{font-size:12px}label{display:flex;flex-direction:column;gap:7px;color:#c6c6d0;font-size:12px}label.check{flex-direction:row;align-items:center;font-size:13px}h1,h2,h3,p{margin:0}h1{font-size:29px;letter-spacing:-1px}h2{font-size:18px;letter-spacing:-.3px}h3{font-size:15px}p{line-height:1.6}small,.muted{color:var(--muted)}a{color:var(--coral);text-decoration:none}.icon{width:20px;height:20px;flex-shrink:0;vertical-align:middle;stroke:currentColor;fill:none;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.sidebar{position:fixed;left:0;top:0;bottom:0;width:228px;background:linear-gradient(160deg,#1c1d25,#14161c);border-right:1px solid #33323b;display:flex;flex-direction:column;padding:28px 17px;z-index:20}.brand{display:flex;align-items:center;gap:10px;padding:0 10px 30px}.brand .icon{width:32px;height:32px;color:var(--coral)}.brand strong{font-size:24px;letter-spacing:-1px;color:var(--coral)}.brand small{display:block;font-size:10px;letter-spacing:.3px;margin-top:2px;color:#d2cbd0}.nav-label{font-size:10px;letter-spacing:1.6px;color:#737683;padding:12px 14px 9px}.sidebar nav{display:grid;gap:5px}.nav-item{border:0;background:none;display:flex;align-items:center;gap:12px;text-align:left;padding:11px 14px;color:#b8bac6;font-size:13px}.nav-item.active{background:linear-gradient(105deg,#ffa18b,#f26b9d);color:#21171d;box-shadow:0 4px 20px #f67e9820;font-weight:650}.sidebar footer{margin-top:auto;border-top:1px solid #33333d;padding:20px 8px 0;font-size:11px;color:#828594;line-height:1.8}.workspace{margin-left:228px}.topbar{height:77px;border-bottom:1px solid #32333b;display:flex;align-items:center;justify-content:space-between;padding:0 34px;background:#15171d99;backdrop-filter:blur(15px);position:sticky;top:0;z-index:10}.breadcrumbs{font-size:12px;color:#9294a2}.breadcrumbs strong{color:#e4e2e7;font-weight:500}.top-actions{display:flex;align-items:center;gap:15px}.language{font-size:11px;padding:7px 11px;border-radius:20px}.user-chip{display:flex;align-items:center;gap:9px;font-size:12px}.avatar{width:40px;height:40px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(140deg,#55404a,#283a45);color:#ffd2c6;font-weight:650;flex-shrink:0;object-fit:cover}.avatar.large{width:72px;height:78px;font-size:24px;border-radius:13px}.avatar.hero{width:100%;height:215px;font-size:70px;border-radius:15px}.content{max-width:1640px;margin:0 auto;padding:31px 34px 90px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:25px}.page-head p{font-size:12px;color:var(--muted);margin-top:7px}.eyebrow{font-size:10px;letter-spacing:1.8px;color:var(--coral);text-transform:uppercase;margin-bottom:9px}.panel,.card{border:1px solid var(--border);border-radius:15px;background:linear-gradient(145deg,#292a32b0,#1b1d24d9);box-shadow:inset 0 1px 0 #ffffff05,0 12px 28px #0000000c}.panel{padding:22px}.panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:10px}.panel-title h2{display:flex;align-items:center;gap:10px}.panel-title .icon{color:var(--coral)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:24px}.stat{padding:19px 21px;display:flex;gap:16px;align-items:center;min-height:105px}.stat .stat-icon{padding:13px;background:#ffffff06;border-radius:12px;color:var(--coral)}.stat strong{display:block;font-size:29px;letter-spacing:-1px;line-height:1.2}.stat small{display:block;font-size:11px;margin-top:5px}.stat.emphasis{background:linear-gradient(120deg,#183c2c80,#20272b);border-color:#3a6a52}.stat.emphasis strong,.stat.emphasis .stat-icon{color:var(--neon)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:23px}.stack{display:grid;gap:20px;align-content:start}.toolbar{padding:13px;display:flex;gap:10px;margin-bottom:21px;flex-wrap:wrap;align-items:center}.toolbar .search{flex:1;min-width:180px}.toolbar select{width:auto;max-width:180px;font-size:12px}.toolbar input[type=date]{width:150px;font-size:12px}.segmented{display:flex;gap:3px;border:1px solid #41414a;background:#15171d;border-radius:10px;padding:3px}.segmented button{border:0;background:none;font-size:11px;padding:7px 11px}.segmented button.active{background:linear-gradient(110deg,var(--coral),var(--pink));color:#24141a;font-weight:650}.candidate-card{padding:19px;cursor:pointer;transition:transform .15s,border-color .15s}.candidate-card:hover{transform:translateY(-2px);border-color:#b87883}.candidate-top{display:flex;gap:13px;align-items:center}.candidate-top h3{font-size:16px;margin-bottom:5px}.candidate-top p{font-size:12px;line-height:1.8}.candidate-top small{font-size:10px}.candidate-card .divider{margin:17px 0 13px}.divider{height:1px;background:#3a394350;margin:18px 0}.badge{display:inline-flex;gap:6px;align-items:center;font-size:10px;font-weight:600;border:1px solid currentColor;border-radius:7px;padding:4px 7px;white-space:nowrap;max-width:100%}.badge.available{color:var(--neon);background:#39ff8512}.badge.unavailable{color:#adb1bd;background:#9ca3af12}.badge.blue{color:var(--blue);background:#7dd3fc12}.badge.green{color:var(--green);background:#9be7a412}.badge.yellow{color:var(--yellow);background:#f9df6512}.badge.red,.badge.overdue{color:var(--red);background:#ffa0a712}.badge.tentative{color:#dba5f0;background:#dba5f012}.line{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;margin:9px 0}.line>span:first-child{color:var(--muted)}.line .icon{width:15px;height:15px;color:var(--coral);margin-right:5px}.candidate-bottom{font-size:11px;color:#acafbc;margin-top:13px;display:flex;justify-content:space-between}.compact-row{padding:13px 0;border-bottom:1px solid #36364080;display:flex;align-items:center;gap:12px}.compact-row:last-child{border-bottom:0}.compact-row .grow{flex:1;min-width:0}.compact-row p{font-size:11px;color:var(--muted);margin-top:4px}.compact-row h3{font-size:13px}.row-end{text-align:right}.row-end p{font-size:10px}.greeting{background:radial-gradient(ellipse at 95% 50%,#884e6040,transparent 60%),linear-gradient(125deg,#29272e,#1a2029);padding:25px;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between}.greeting h2{font-size:22px;margin-bottom:7px}.greeting p{font-size:12px;color:#bcb7c5;max-width:500px}.greeting .logo-art{font-size:57px;font-weight:800;letter-spacing:-5px;color:#ff9f9c22;transform:rotate(-8deg);padding-right:20px}.quick-links{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.quick-links button{display:flex;gap:10px;align-items:center;text-align:left;padding:14px;font-size:12px}.quick-links .icon{color:var(--coral)}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;font-size:10px;color:#999ca9;background:#ffffff03;font-weight:500;padding:13px 10px;cursor:pointer}td{padding:14px 10px;border-top:1px solid #35353e;vertical-align:middle}td .avatar{width:35px;height:38px;font-size:12px}td .person{display:flex;gap:9px;align-items:center}td small{display:block;margin-top:4px;font-size:10px}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:13px}.empty{text-align:center;padding:45px 25px;color:var(--muted);font-size:13px}.empty .icon{display:block;width:35px;height:35px;margin:0 auto 15px;color:var(--coral)}.profile{display:grid;grid-template-columns:280px minmax(0,1fr);gap:23px}.profile-info h2{font-size:24px;margin-top:18px}.profile-info .badge{margin:12px 0}.profile-info .actions{display:flex;gap:8px;flex-wrap:wrap}.tabs{display:flex;gap:5px;margin-bottom:20px;padding:5px;border:1px solid var(--border);border-radius:11px;background:#24252d;overflow-x:auto}.tabs button{border:0;background:none;white-space:nowrap;flex:1;font-size:12px}.tabs button.active{background:linear-gradient(110deg,var(--coral),var(--pink));color:#29171e;font-weight:650}.availability-banner{background:linear-gradient(110deg,#224e3530,#20282b);border:1px solid #456750;border-radius:11px;padding:14px;color:#cdeed9;font-size:12px}.timeline{display:grid;gap:10px}.timeline-row{display:flex;align-items:center;gap:12px;min-height:50px}.timeline-date{min-width:93px;font-size:11px;color:var(--muted)}.timeline-bar{padding:13px 15px;border:1px solid #7dd3fc50;border-radius:8px;background:#7dd3fc15;flex:1;font-size:12px}.timeline-bar.future{background:#d49ee91a;border-color:#d49ee950}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-day{min-height:105px;border:1px solid #353540;border-radius:8px;padding:9px;background:#1c1e26}.calendar-day.other{opacity:.35}.calendar-day.today{border-color:var(--coral)}.calendar-day strong{font-size:11px;font-weight:500}.calendar-day .event{font-size:9px;background:#7dd3fc18;border-left:2px solid var(--blue);padding:4px;margin-top:4px;border-radius:3px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:pointer}.week-label{text-align:center;padding:9px;font-size:10px;color:var(--muted)}.city-tabs{display:flex;gap:8px;margin-bottom:21px;overflow:auto}.city-tabs button{border-radius:20px;font-size:11px;white-space:nowrap}.city-tabs button.active{background:linear-gradient(100deg,var(--coral),var(--pink));color:#23141a}.property-visual{height:100px;border-radius:10px;background:radial-gradient(ellipse at bottom,#6e546640,transparent),linear-gradient(140deg,#263a48,#24232e);display:flex;align-items:center;justify-content:center;margin-bottom:16px}.property-visual .icon{width:47px;height:47px;color:#cfaaa8}.card-body{padding:19px}.card-body .card-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:17px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-grid .full{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.error{color:var(--red);font-size:12px;line-height:1.5;min-height:18px;margin-top:10px}.notice{padding:13px 16px;border:1px solid #6e5c4d;background:#f9df6508;border-radius:10px;font-size:12px;line-height:1.6;color:#ded2b9;margin-bottom:20px}.totals{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0}.total{padding:20px;background:#181a22;border:1px solid #3b3b45;border-radius:12px}.total strong{display:block;font-size:22px;margin-top:8px}.total:first-child strong{color:var(--coral)}.budget-row{display:grid;grid-template-columns:1.2fr 1fr 110px 36px;gap:9px;margin-bottom:10px;align-items:end}.budget-row.extra-fields{grid-template-columns:1fr 1fr}.budget-row button{padding:10px}.extras-line{display:grid;grid-template-columns:1fr 110px 110px 95px;gap:12px;padding:13px 0;align-items:center;border-bottom:1px solid #363640}.extras-line small{font-size:11px}.history-entry{padding:12px 0;border-bottom:1px solid #34343e;font-size:12px}.history-entry p{color:var(--muted);font-size:11px}.mobile-nav{display:none}.mobile-menu{display:none}dialog{color:var(--text);background:linear-gradient(130deg,#292a33,#1c1e26);border:1px solid #66505b;border-radius:18px;padding:28px;width:620px;max-width:calc(100vw - 28px);max-height:90vh;box-shadow:0 30px 100px #0008}dialog::backdrop{background:#080a11bb;backdrop-filter:blur(5px)}dialog .dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#33303c;border:1px solid #a77483;border-radius:10px;padding:14px 22px;box-shadow:0 12px 50px #0007;z-index:100;display:none;font-size:12px}.login-page{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;max-width:1400px;margin:auto;padding:60px;gap:85px;align-items:center}.login-art{padding:20px}.login-art .brand{padding:0;margin-bottom:65px}.login-art .brand strong{font-size:35px}.login-art h1{font-size:53px;line-height:1.15;letter-spacing:-2px;max-width:560px}.login-art h1 span{color:var(--coral)}.login-art p{color:var(--muted);margin-top:25px;max-width:450px}.login-art .art-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:45px}.art-tile{height:90px;display:flex;align-items:center;justify-content:center;border:1px solid #54404e;border-radius:14px;background:linear-gradient(140deg,#41313b80,#1c252e)}.art-tile .icon{width:32px;height:32px;color:#d89b9c}.login-box{padding:37px}.login-box h2{font-size:25px;margin:15px 0 8px}.login-box p{font-size:12px;color:var(--muted);margin-bottom:26px}.login-box form{display:grid;gap:18px}.login-box .language{float:right}.login-box footer{text-align:center;font-size:10px;color:var(--muted);margin-top:25px;line-height:1.8}.login-box .primary{padding:13px}.demo-banner{background:#f9df6510;border-bottom:1px solid #f9df6530;color:#dbd0a2;text-align:center;font-size:11px;padding:7px}.loading{padding:100px;text-align:center;color:var(--muted)}.badge-dot{width:5px;height:5px;background:currentColor;border-radius:100%}.chip{background:#ffffff08;border:1px solid #41414b;padding:5px 9px;border-radius:20px;font-size:10px;display:inline-block;margin:3px}.audit-table td{font-size:11px}.password-note{font-size:11px;color:var(--muted)}
@media(min-width:1600px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1200px){.sidebar{width:200px;padding:25px 12px}.workspace{margin-left:200px}.content{padding:25px 24px 80px}.topbar{padding:0 24px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{gap:10px}.stat{padding:16px 13px;gap:10px}.stat .stat-icon{padding:9px}.dashboard-grid{grid-template-columns:1.4fr 1fr}.profile{grid-template-columns:240px 1fr}.profile .grid{grid-template-columns:1fr}}@media(max-width:900px){.sidebar{width:180px}.workspace{margin-left:180px}.brand strong{font-size:21px}.brand{padding-left:3px}.nav-item{padding:11px 10px;font-size:12px}.stats{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.profile{grid-template-columns:1fr}.profile-info{display:grid;grid-template-columns:150px 1fr;gap:20px}.profile-info .avatar.hero{height:180px}.profile-info h2{margin-top:0}.login-page{padding:35px;gap:35px}.login-art h1{font-size:37px}.login-box{padding:27px}.extras-line{grid-template-columns:1fr 85px 85px 75px}}@media(max-width:680px){body{font-size:13px}.sidebar{display:none;width:250px;bottom:68px;box-shadow:10px 0 70px #0008}.sidebar.open{display:flex}.workspace{margin-left:0}.topbar{height:64px;padding:0 17px}.breadcrumbs{display:none}.mobile-menu{display:block;padding:8px}.top-actions{gap:9px}.user-chip span{display:none}.user-chip .avatar{width:30px;height:30px;border-radius:9px;font-size:11px}.language{padding:6px 9px}.content{padding:23px 16px 100px}.page-head{align-items:flex-start;margin-bottom:20px}.page-head h1{font-size:25px}.page-head .primary{font-size:11px;padding:10px}.page-head p{font-size:11px}.grid,.grid.two{grid-template-columns:1fr}.stats{gap:9px;margin-bottom:18px}.stat{min-height:83px;padding:13px}.stat strong{font-size:25px}.stat small{font-size:10px}.stat .stat-icon{padding:7px}.stat .icon{width:19px;height:19px}.greeting{padding:20px}.greeting h2{font-size:19px}.greeting .logo-art{display:none}.panel{padding:17px;border-radius:12px}.toolbar{gap:8px;padding:10px}.toolbar .search{flex-basis:100%}.toolbar select{flex:1;max-width:none}.toolbar input[type=date]{flex:1;width:120px}.candidate-card{padding:17px}.candidate-top .avatar.large{width:63px;height:69px}.candidate-card .divider{margin:13px 0}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:70px;background:#191b22f5;backdrop-filter:blur(16px);border-top:1px solid #4b3c45;z-index:25;justify-content:space-around;padding-bottom:env(safe-area-inset-bottom)}.mobile-nav button{background:none;border:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:9px;padding:8px 9px;color:#a7a8b5}.mobile-nav button.active{color:var(--coral)}.table-wrap.responsive table,.table-wrap.responsive tbody{display:block}.table-wrap.responsive thead{display:none}.table-wrap.responsive tr{display:grid;grid-template-columns:1fr 1fr;padding:13px;border-bottom:1px solid #41414b;gap:7px}.table-wrap.responsive td{display:block;border:0;padding:3px;font-size:11px}.table-wrap.responsive td:first-child{grid-column:1/-1}.table-wrap.responsive td:before{content:attr(data-label);display:block;color:#9294a1;font-size:9px;margin-bottom:4px}.profile-info{grid-template-columns:100px 1fr;gap:15px}.profile-info .avatar.hero{height:130px;font-size:40px}.profile-info h2{font-size:22px}.profile-info .actions{grid-column:1/-1}.tabs button{font-size:11px;padding:9px}.calendar-day{min-height:75px;padding:5px}.calendar-day .event{font-size:8px;padding:3px}.calendar{gap:3px}.timeline-row{gap:8px}.timeline-date{min-width:75px;font-size:9px}.timeline-bar{padding:10px;font-size:11px}.form-grid{gap:14px}.form-grid label{font-size:11px}.totals{grid-template-columns:1fr;gap:8px}.total{display:flex;align-items:center;justify-content:space-between;padding:15px}.total strong{font-size:21px;margin:0}.budget-row{grid-template-columns:1fr 90px 35px}.budget-row label:nth-child(2){grid-column:1/-1;grid-row:2}.extras-line{grid-template-columns:1fr 65px 65px 65px;gap:7px;font-size:11px}.extras-line input{padding:9px}.login-page{grid-template-columns:1fr;padding:25px 18px;gap:25px}.login-art{padding:10px}.login-art .brand{margin-bottom:30px}.login-art h1{font-size:34px;max-width:370px}.login-art p{font-size:12px;margin-top:15px}.login-art .art-grid{display:none}.login-box{padding:25px}.login-art .brand strong{font-size:28px}dialog{padding:22px}.form-actions{margin-top:20px}#toast{bottom:85px;width:calc(100% - 35px);text-align:center}.badge{font-size:9px}.demo-banner{font-size:9px}.greeting p{font-size:11px}.topbar .brand{padding:0}.topbar .brand strong{font-size:19px}.topbar .brand small{display:none}.topbar .brand .icon{width:24px;height:24px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.mobile-brand{display:none}.sidebar{overflow-y:auto}.profile-info{align-content:start}.calendar .event.blue{border-color:var(--blue);color:var(--blue)}.calendar .event.green{border-color:var(--green);color:var(--green);background:#9be7a410}.calendar .event.yellow{border-color:var(--yellow);color:var(--yellow);background:#f9df6510}.calendar .event.red,.calendar .event.overdue{border-color:var(--red);color:var(--red);background:#ffa0a710}.calendar .event.tentative{border-color:#dba5f0;color:#dba5f0;background:#dba5f010}.form-actions{flex-wrap:wrap}@media(max-width:680px){.mobile-brand{display:block;color:var(--coral);font-size:19px;font-weight:700;letter-spacing:-.6px;margin-right:auto;margin-left:5px}.user-chip span.avatar{display:inline-flex}.top-actions{gap:3px}.top-actions .ghost{padding:6px}.topbar{padding:0 10px}}
@media(max-width:680px){.toolbar select{flex:1 1 calc(50% - 8px);min-width:120px}.toolbar .segmented{margin-left:auto}.toolbar label{flex:1;min-width:120px}}

.danger{background:#b3261e;color:#fff;border-color:#e0574f}

.year-table{width:100%;border-collapse:collapse}.year-table th,.year-table td{padding:6px 8px;text-align:right;border-bottom:1px solid rgba(127,127,127,.25);white-space:nowrap}.year-table th:first-child,.year-table td:first-child{text-align:left}.year-total td{font-weight:700}
