:root{--wash:#eef7fc;--wash-2:#e2f2fb;--paper:#fff;--sky:#5bc2f2;--sky-soft:#d7effb;--sky-ink:#1679ad;--blue:#0b3b8c;--blue-hover:#082d6b;--ink:#132232;--ink-2:#3d4d5e;--muted:#6b7a8a;--line:#d6e5ef;--line-2:#e8f0f5;--green:#12965a;--green-soft:#dbf3e6;--amber:#b7791f;--amber-soft:#fdf0d5;--red:#c8372d;--red-soft:#fbe3e0;--violet:#6b4fcf;--violet-soft:#ece7fb;--slate-soft:#e9eef3;--radius-panel:16px;--radius-input:10px;--shadow:0 1px 2px #1322320d, 0 8px 24px -12px #0b3b8c24;--head:"Poppins", system-ui, sans-serif;--body:"Nunito Sans", system-ui, sans-serif;--sidebar:248px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--wash);color:var(--ink);font:15px/1.5 var(--body);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4{font-family:var(--head);color:var(--ink);letter-spacing:-.01em;margin:0}h1{font-size:26px;font-weight:700;line-height:1.2}h2{font-size:18px;font-weight:600}h3{font-size:15px;font-weight:600}a{color:var(--sky-ink)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--sky);outline-offset:2px;border-radius:6px}.num,.tab-num{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.small{font-size:13px}.nowrap{white-space:nowrap}.right{text-align:right}.stack{flex-direction:column;gap:16px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.spread{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.grow{flex:1;min-width:0}@media (width<=760px){.hide-sm{display:none!important}}.shell{grid-template-columns:var(--sidebar) 1fr;min-height:100%;display:grid}.sidebar{background:var(--paper);border-right:1px solid var(--line);flex-direction:column;height:100vh;padding:18px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{align-items:center;gap:10px;padding:2px 8px 18px;text-decoration:none;display:flex}.brand img{width:42px;height:42px}.brand b{font:700 15px/1.1 var(--head);color:var(--ink);display:block}.brand span{color:var(--muted);font-size:12px}.nav-group{color:var(--muted);margin:10px 0 4px;padding:0 10px;font-size:12px;font-weight:700}.nav a,.nav button.navlink{color:var(--ink-2);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:11px;width:100%;padding:9px 10px;font-size:14.5px;font-weight:600;text-decoration:none;display:flex}.nav a svg{width:18px;height:18px;color:var(--muted);flex:none}.nav a:hover{background:var(--wash);color:var(--ink)}.nav a.active{background:var(--sky-soft);color:var(--blue)}.nav a.active svg{color:var(--blue)}.nav .soon{color:var(--sky-ink);background:var(--wash-2);border-radius:99px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:700}.nav .count{color:#fff;background:var(--red);border-radius:99px;margin-left:auto;padding:0 7px;font-size:12px;font-weight:700}.sidebar-foot{border-top:1px solid var(--line-2);margin-top:auto;padding-top:14px}.me{align-items:center;gap:10px;padding:8px;display:flex}.avatar{background:var(--blue);color:#fff;width:34px;height:34px;font:600 13px var(--head);border-radius:50%;flex:none;place-items:center;display:grid}.me b{font-size:14px;display:block}.me span{color:var(--muted);font-size:12px}.main{flex-direction:column;min-width:0;display:flex}.topbar{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#eef7fce0;border-bottom:1px solid #0000;align-items:center;gap:12px;padding:12px 28px;display:flex;position:sticky;top:0}.topbar.scrolled{border-bottom-color:var(--line)}.btn.menu-btn{display:none}.search{flex:1;max-width:520px;position:relative}.search input{border:1px solid var(--line);background:var(--paper);border-radius:999px;width:100%;padding:10px 14px 10px 38px}.search svg{width:17px;color:var(--muted);position:absolute;top:50%;left:13px;transform:translateY(-50%)}.search-results{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);z-index:30;border-radius:14px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0}.search-results button{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;padding:8px 10px;display:flex}.search-results button:hover,.search-results button:focus{background:var(--wash)}.content{width:100%;max-width:1480px;padding:8px 28px 48px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin:14px 0 20px;display:flex}.page-head p{color:var(--muted);max-width:680px;margin:4px 0 0}@media (width<=960px){.shell{grid-template-columns:1fr}.sidebar{z-index:50;width:280px;box-shadow:var(--shadow);transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.open{transform:none}.scrim{z-index:40;background:#13223259;position:fixed;inset:0}.btn.menu-btn{display:inline-flex}.topbar,.content{padding-left:16px;padding-right:16px}}.btn{border:1px solid var(--line);background:var(--paper);cursor:pointer;color:var(--ink);white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.btn svg{width:17px;height:17px}.btn:hover{background:#fbfdff;border-color:#b9d3e3}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.primary:hover{background:var(--blue-hover)}.btn.sky{background:var(--sky);border-color:var(--sky);color:#06223f}.btn.green{background:var(--green);border-color:var(--green);color:#fff}.btn.danger{color:var(--red)}.btn.danger.solid{background:var(--red);border-color:var(--red);color:#fff}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--wash-2)}.btn.sm{border-radius:8px;padding:6px 11px;font-size:13px}.btn.icon{padding:8px}.field{flex-direction:column;gap:5px;min-width:0;display:flex}.field>span{color:var(--ink-2);font-size:13px;font-weight:700}.field small{color:var(--muted);font-size:12px}.input,.field input,.field select,.field textarea,select.input{border:1px solid var(--line);border-radius:var(--radius-input);background:var(--paper);width:100%;min-height:40px;padding:9px 12px}.field textarea{resize:vertical;min-height:90px}.input:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--sky);outline:none;box-shadow:0 0 0 3px #5bc2f240}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.span-2{grid-column:span 2}@media (width<=700px){.grid-2,.grid-3{grid-template-columns:1fr}.span-2{grid-column:auto}}.check{cursor:pointer;align-items:center;gap:8px;font-size:14px;font-weight:600;display:inline-flex}.check input{width:17px;height:17px;accent-color:var(--blue)}.money-input{text-align:right;font-variant-numeric:tabular-nums;background:0 0;border:1px solid #0000;border-radius:8px;width:92px;padding:6px 8px}.money-input:hover{border-color:var(--line);background:var(--paper)}.money-input:focus{border-color:var(--sky);background:var(--paper);outline:none}.money-input.missing{background:var(--amber-soft);border-color:#f2c46d}.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-panel);box-shadow:var(--shadow)}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px 0;display:flex}.panel-body{padding:16px 18px 18px}.split{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:18px;display:grid}@media (width<=1100px){.split{grid-template-columns:1fr}}.figures{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-panel);box-shadow:var(--shadow);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));display:grid;overflow:hidden}.figure{border-right:1px solid var(--line-2);min-width:0;padding:16px 18px}.figure:last-child{border-right:0}.figure .label{color:var(--muted);font-size:13px;font-weight:600}.figure .value{font:600 24px/1.25 var(--head);font-variant-numeric:tabular-nums;margin-top:4px}.figure .sub{color:var(--muted);margin-top:2px;font-size:12.5px}.figure.hero{background:linear-gradient(160deg, var(--blue), #0e4fb0);color:#fff}.figure.hero .label,.figure.hero .sub{color:#cbe8fa}.figure.good .value{color:var(--green)}.figure.warn .value{color:var(--amber)}.figure.bad .value{color:var(--red)}.pill{white-space:nowrap;background:var(--slate-soft);color:var(--ink-2);border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-size:12.5px;font-weight:700;display:inline-flex}.pill .dot{background:currentColor;border-radius:50%;width:7px;height:7px}.pill.green{background:var(--green-soft);color:var(--green)}.pill.amber{background:var(--amber-soft);color:var(--amber)}.pill.red{background:var(--red-soft);color:var(--red)}.pill.sky{background:var(--sky-soft);color:var(--sky-ink)}.pill.violet{background:var(--violet-soft);color:var(--violet)}.pill.blue{color:var(--blue);background:#dde7f8}.table-wrap{border-top:1px solid var(--line-2);overflow:auto}table.data{border-collapse:separate;border-spacing:0;width:100%;font-size:14px}table.data th{z-index:1;text-align:left;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;background:#f6fafd;padding:10px 12px;font-size:12.5px;font-weight:700;position:sticky;top:0}table.data th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}table.data th.sortable:hover{color:var(--ink)}table.data td{border-bottom:1px solid var(--line-2);vertical-align:middle;padding:10px 12px}table.data tr:last-child td{border-bottom:0}table.data tbody tr:hover td{background:#fafdff}table.data tr.clickable{cursor:pointer}table.data tr.selected td{background:#f1f9fe}table.data tr.group-row td{background:var(--wash);color:var(--ink-2);font-size:13px;font-weight:700}table.data td.num,table.data th.num{text-align:right;font-variant-numeric:tabular-nums}table.data tfoot td{border-top:1px solid var(--line);background:#f6fafd;font-weight:700;position:sticky;bottom:0}.cell-main{color:var(--ink);font-weight:700}.cell-sub{color:var(--muted);font-size:12.5px}@media (width<=760px){table.data.stackable thead{display:none}table.data.stackable,table.data.stackable tbody,table.data.stackable tr,table.data.stackable td{width:100%;display:block}table.data.stackable tr{border-bottom:1px solid var(--line);padding:8px 4px}table.data.stackable td{text-align:right;border:0;justify-content:space-between;gap:12px;padding:4px 10px;display:flex}table.data.stackable td:before{content:attr(data-label);color:var(--muted);text-align:left;flex:none;font-size:12.5px;font-weight:700}table.data.stackable td>div{min-width:0}table.data.stackable td[data-label=""]:before,table.data.stackable td[data-label=Select]:before{content:none}table.data.stackable td.num{text-align:right}table.data.stackable tfoot{display:block}}.filters{flex-wrap:wrap;align-items:center;gap:10px;padding:14px 18px;display:flex}.filters .input{width:auto;min-width:150px;min-height:38px;padding:7px 10px}.filters .search-mini{flex:1;min-width:200px;max-width:360px;position:relative}.filters .search-mini input{width:100%;padding-left:34px}.filters .search-mini svg{width:16px;color:var(--muted);position:absolute;top:50%;left:11px;transform:translateY(-50%)}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);background:var(--paper);color:var(--ink-2);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:13px;font-weight:700;display:inline-flex}.chip.on{background:var(--blue);border-color:var(--blue);color:#fff}.chip .n{opacity:.75;font-size:11.5px}.seg{background:var(--wash-2);border-radius:10px;padding:3px;display:inline-flex}.seg button{color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:6px 12px;font-size:13px;font-weight:700}.seg button.on{background:var(--paper);color:var(--blue);box-shadow:0 1px 3px #1322321f}.rail{align-items:center;gap:0;min-width:300px;display:flex}.rail-step{cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;align-items:center;gap:4px;min-width:0;padding:0;display:flex;position:relative}.rail-step:disabled{cursor:default}.rail-step .knob{background:var(--paper);z-index:1;border:2px solid #c5d8e5;border-radius:50%;place-items:center;width:22px;height:22px;transition:transform .12s;display:grid}.rail-step:not(:disabled):hover .knob{border-color:var(--sky);transform:scale(1.12)}.rail-step .knob svg{color:#fff;width:13px;height:13px}.rail-step:before{content:"";background:#dce8f0;height:3px;position:absolute;top:10px;left:-50%;right:50%}.rail-step:first-child:before{display:none}.rail-step.done:before,.rail-step.current:before{background:var(--sky)}.rail-step.done .knob{background:var(--sky);border-color:var(--sky)}.rail-step.current .knob{border-color:var(--sky);box-shadow:0 0 0 4px var(--sky-soft)}.rail-step.denied .knob{background:var(--red);border-color:var(--red)}.rail-step.denied:before{background:var(--red)}.rail-step .tag{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:10.5px;font-weight:700;overflow:hidden}.rail-step.done .tag,.rail-step.current .tag{color:var(--ink-2)}.rail.invoiced .rail-step:before{background:var(--green)}.rail.invoiced .rail-step .knob{background:var(--green);border-color:var(--green)}.rail.invoiced .rail-step .tag{color:var(--green)}.job-list{flex-direction:column;display:flex}.job{border-top:1px solid var(--line-2);grid-template-columns:22px minmax(220px,1.3fr) minmax(320px,2fr) auto;align-items:center;gap:14px;padding:12px 18px;display:grid}.job:hover{background:#fafdff}.job.is-invoiced{background:linear-gradient(90deg,#12965a0f,#0000 40%)}.job.is-flagged{background:linear-gradient(90deg,#c8372d12,#0000 40%)}.job .who{min-width:0}.job .addr{white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.job .meta{color:var(--muted);flex-wrap:wrap;gap:8px;margin-top:2px;font-size:12.5px;display:flex}.day-head{background:var(--wash);color:var(--ink-2);border-top:1px solid var(--line-2);justify-content:space-between;padding:10px 18px;font-size:13px;font-weight:700;display:flex}@media (width<=900px){.job{grid-template-columns:22px 1fr}.job .rail,.job .job-actions{grid-column:1/-1}}.overlay{z-index:60;background:#13223261;justify-content:center;align-items:flex-start;padding:6vh 16px 16px;animation:.12s fade;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--paper);border-radius:18px;width:100%;max-width:640px;animation:.16s rise;box-shadow:0 24px 60px -20px #0b3b8c59}.modal.wide{max-width:920px}.modal-head{justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 22px 0;display:flex}.modal-body{flex:auto;min-height:0;padding:16px 22px;overflow-y:auto}.modal-foot{border-top:1px solid var(--line-2);flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:14px 22px 18px;display:flex}.drawer-overlay{z-index:55;background:#1322324d;animation:.12s fade;position:fixed;inset:0}.drawer{background:var(--paper);z-index:56;flex-direction:column;width:min(620px,100vw);animation:.18s slide;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-20px 0 50px -20px #0b3b8c4d}.drawer-head{border-bottom:1px solid var(--line-2);justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 22px;display:flex}.drawer-body{flex:1;padding:18px 22px;overflow-y:auto}.drawer-foot{border-top:1px solid var(--line-2);flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:14px 22px;display:flex}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}@keyframes slide{0%{opacity:0;transform:translate(30px)}}@media (prefers-reduced-motion:reduce){*,:before{transition:none!important;animation:none!important}}.toasts{z-index:90;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.toast{background:var(--ink);color:#fff;box-shadow:var(--shadow);border-radius:12px;max-width:380px;padding:11px 16px;font-weight:600;animation:.16s rise}.toast.error{background:var(--red)}.toast.ok{background:var(--green)}.drop{text-align:center;cursor:pointer;background:linear-gradient(#f6fbfe,#eef8fd);border:2px dashed #a9d7ef;border-radius:16px;padding:22px;transition:border-color .15s,background .15s}.drop.over{border-color:var(--blue);background:var(--sky-soft)}.drop svg{width:30px;height:30px;color:var(--sky-ink)}.drop b{font-family:var(--head);margin-top:6px;font-weight:600;display:block}.empty{text-align:center;color:var(--muted);padding:40px 20px}.empty svg{width:34px;height:34px;color:var(--sky)}.empty b{color:var(--ink);font-family:var(--head);margin:8px 0 4px;font-weight:600;display:block}.notice{background:var(--sky-soft);color:#0e4a72;border-radius:12px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:14px;display:flex}.notice.warn{background:var(--amber-soft);color:#7a4e0e}.notice.bad{background:var(--red-soft);color:#8c2219}.notice.good{background:var(--green-soft);color:#0b6a3e}.notice svg{flex:none;width:18px;height:18px;margin-top:2px}.timeline{margin:0;padding:0;list-style:none}.timeline li{padding:0 0 14px 22px;position:relative}.timeline li:before{content:"";background:var(--sky);border-radius:50%;width:9px;height:9px;position:absolute;top:7px;left:5px}.timeline li:after{content:"";background:var(--line);width:1px;position:absolute;top:18px;bottom:0;left:9px}.timeline li:last-child:after{display:none}.kv{grid-template-columns:140px 1fr;gap:8px 14px;font-size:14px;display:grid}.kv dt{color:var(--muted);font-weight:600}.kv dd{overflow-wrap:anywhere;margin:0}.cal{background:var(--line-2);border:1px solid var(--line-2);border-radius:12px;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.cal .dow{color:var(--muted);text-align:center;background:#f6fafd;padding:8px;font-size:12px;font-weight:700}.cal .day{background:var(--paper);cursor:pointer;text-align:left;border:0;flex-direction:column;gap:3px;min-height:96px;padding:6px;display:flex}.cal .day.out{color:#a8b5c2;background:#fafcfd}.cal .day.today .d{background:var(--blue);color:#fff}.cal .day.sel{box-shadow:inset 0 0 0 2px var(--sky)}.cal .d{border-radius:50%;place-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:grid}.cal .ev{background:var(--sky-soft);color:var(--blue);white-space:nowrap;text-overflow:ellipsis;border-radius:6px;padding:2px 6px;font-size:11.5px;font-weight:700;overflow:hidden}.cal .more{color:var(--muted);font-size:11px;font-weight:700}@media (width<=700px){.cal .day{min-height:58px}.cal .ev{display:none}.cal .day.has:after{content:"";background:var(--blue);border-radius:50%;width:6px;height:6px;margin:2px auto}}.funnel{flex-direction:column;gap:10px;display:flex}.funnel-row{grid-template-columns:130px 1fr 50px;align-items:center;gap:12px;font-size:14px;display:grid}.funnel-bar{background:var(--wash-2);border-radius:99px;height:12px;overflow:hidden}.funnel-bar i{background:var(--sky);border-radius:99px;height:100%;display:block}.progress{background:var(--wash-2);border-radius:99px;min-width:70px;height:6px;overflow:hidden}.progress i{background:linear-gradient(90deg, var(--sky), var(--blue));height:100%;display:block}.login{background:var(--paper);grid-template-columns:1.05fr 1fr;min-height:100%;display:grid}.login-art{color:#06223f;background:radial-gradient(1200px 600px at 10% 10%,#bfe6fa,#0000 60%),linear-gradient(160deg,#87ceeb,#5bc2f2 60%,#3aa6e0);flex-direction:column;justify-content:space-between;padding:40px;display:flex;position:relative;overflow:hidden}.login-art img.logo{filter:drop-shadow(0 10px 24px #0b3b8c40);width:108px;height:108px}.login-art h2{color:#06223f;max-width:440px;font-size:34px;font-weight:700;line-height:1.15}.login-art p{color:#0e3a5e;max-width:420px}.login-art .bubbles span{border:2px solid #ffffff8c;border-radius:50%;position:absolute}.login-form{justify-content:center;align-items:center;padding:40px 24px;display:flex}.login-form form{flex-direction:column;gap:16px;width:100%;max-width:380px;display:flex}@media (width<=860px){.login{grid-template-columns:1fr}.login-art{min-height:220px;padding:24px}.login-art h2{font-size:24px}.login-art img.logo{width:64px;height:64px}}.coming{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.coming li{background:var(--wash);border-radius:12px;padding:14px 16px;list-style:none}.tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:4px;margin-bottom:18px;display:flex;overflow:auto hidden}.tabs button{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-weight:700}.tabs button.on{color:var(--blue);border-bottom-color:var(--blue)}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;display:grid}.photo-grid img{aspect-ratio:1;object-fit:cover;border:1px solid var(--line);border-radius:10px;width:100%}.legend{color:var(--ink-2);flex-wrap:wrap;gap:14px;font-size:13px;display:flex}.legend i{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:6px;display:inline-block}.recharts-default-tooltip{box-shadow:var(--shadow);border-color:var(--line)!important;border-radius:10px!important}.trip-options{grid-template-columns:1fr 1fr;gap:10px;display:grid}.trip-option{border:1.5px solid var(--line);cursor:pointer;background:#fff;border-radius:14px;flex-direction:column;gap:6px;padding:14px;display:flex}.trip-option input[type=radio]{opacity:0;pointer-events:none;position:absolute}.trip-option b{color:var(--blue);font-family:Poppins,sans-serif;font-size:20px}.trip-option small{color:var(--muted)}.trip-option.on{border-color:var(--sky);background:var(--sky-soft);box-shadow:0 0 0 3px #5bc2f238}.trip-option .input{min-height:36px}.panel.glow{box-shadow:0 0 0 3px #5bc2f259}@media (width<=560px){.trip-options{grid-template-columns:1fr}}.tpl-chips{flex-wrap:wrap;gap:6px;display:flex}.tpl-chip{border:1px solid var(--line);background:#fff;border-radius:999px;align-items:stretch;display:inline-flex;overflow:hidden}.tpl-chip>button,.tpl-chip>a{font:inherit;color:var(--ink-2);cursor:pointer;background:0 0;border:0;align-items:center;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.tpl-chip>button:hover{background:var(--sky-soft)}.tpl-chip .go{border-left:1px solid var(--line);color:var(--blue);padding:6px 10px}.tpl-chip .go:hover{background:var(--blue);color:#fff}.tpl-row{border-bottom:1px solid var(--line-2);align-items:center;gap:8px;padding:10px 0;display:flex}.btn.disabled{opacity:.5;pointer-events:none}.topbar-text{margin-left:8px}@media (width<=640px){.topbar-text span{display:none}}.pnl .pnl-title{text-align:left;font:inherit;color:inherit;background:0 0;border:0;flex-wrap:wrap;align-items:baseline;gap:10px;padding:0;display:flex}.pnl-strip{background:var(--line-2);border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.pnl-strip>div{background:#fff;flex-direction:column;gap:2px;padding:12px 18px;display:flex}.pnl-strip span{color:var(--muted);font-size:12px;font-weight:600}.pnl-strip b{color:var(--ink);font-family:Poppins,sans-serif;font-size:22px}.pnl-strip b.pos{color:var(--green)}.pnl-strip b.neg{color:var(--red)}.pnl-strip small{color:var(--muted);font-size:12px}.pnl-strip .up{color:var(--green);font-size:12px;font-weight:700}.pnl-strip .down{color:var(--red);font-size:12px;font-weight:700}.pnl-body{grid-template-columns:minmax(280px,1fr) 1.2fr;gap:22px;display:grid}.pnl-table{border-collapse:collapse;width:100%;font-size:14px}.pnl-table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);padding:6px 0;font-size:12px;font-weight:700}.pnl-table td{border-bottom:1px solid var(--line-2);padding:7px 0}.pnl-table .num{text-align:right;font-variant-numeric:tabular-nums;padding-left:12px}.pnl-table tr.total td{border-top:1px solid var(--line);font-weight:700}.pnl-table tr.grand td{color:var(--blue);border-top:2px solid var(--blue);border-bottom:0;font-size:15px;font-weight:800}.pnl-table.small{font-size:13px}.pnl-warn{background:var(--amber-soft);color:var(--amber);border-radius:10px;padding:8px 12px;font-size:13px;font-weight:600}.pnl-note{background:var(--sky-soft);color:var(--sky-ink);border-radius:10px;padding:8px 12px;font-size:13px}@media (width<=860px){.pnl-body{grid-template-columns:1fr}.pnl-strip{grid-template-columns:1fr 1fr}}.cfo-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;display:grid}.cfo-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:14px 16px}.cfo-card .lbl{color:var(--muted);font-size:12.5px;font-weight:700}.cfo-card .val{color:var(--blue);margin-top:2px;font-family:Poppins,sans-serif;font-size:24px;font-weight:600}.cfo-card .sub{color:var(--muted);margin-top:2px;font-size:12.5px}.cfo-card.good .val{color:var(--green)}.cfo-card.bad .val{color:var(--red)}.cfo-notes{margin:0;padding-left:18px;line-height:1.6}.report-preview{border:1px solid var(--line);background:#fff;border-radius:12px;padding:16px}.bulk-rows{gap:6px;display:grid}.bulk-head,.bulk-row{grid-template-columns:160px 120px 160px 1fr;gap:6px;display:grid}.bulk-head span{color:var(--muted);font-size:12px;font-weight:700}.bulk-row .input{min-height:36px;padding:6px 10px}@media (width<=640px){.bulk-head{display:none}.bulk-row{border-bottom:1px solid var(--line-2);grid-template-columns:1fr 1fr;padding-bottom:8px}}.chip-x{color:inherit;cursor:pointer;background:0 0;border:0;padding:0 0 0 4px;font-size:15px;line-height:1}.rev-table-wrap{border:1px solid var(--line);border-radius:12px;max-height:58vh;overflow:auto}.rev-table{border-collapse:collapse;width:100%;min-width:820px;font-size:13.5px}.rev-table th{background:var(--wash);text-align:left;color:var(--muted);z-index:1;padding:8px 10px;font-size:12px;position:sticky;top:0}.rev-table td{border-top:1px solid var(--line-2);vertical-align:top;padding:8px 10px}.rev-table td .input{min-height:34px;padding:5px 8px;font-size:13px}.rev-table td.num,.rev-table th.num{text-align:right}.rev-table td.num .input{text-align:right;width:100px}.rev-table tr.nomatch{background:#fff8f7}.rev-table tr.warn{background:#fffbf1}.rev-table .cell-sub .pill{margin:4px 4px 0 0}.deck-wrap{width:100%;max-width:560px;margin:8px auto 0}.deck{min-height:330px;position:relative}.flag-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:22px;flex-direction:column;gap:10px;min-height:300px;padding:22px;display:flex;position:absolute;inset:0 0 auto}.flag-card.behind{pointer-events:none;opacity:.75}.flag-card.behind>*{visibility:hidden}.flag-card.top{touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:grab;z-index:2;position:relative;box-shadow:0 2px 4px #1322320f,0 18px 40px -18px #0b3b8c59}.flag-card.top:active{cursor:grabbing}.flag-card.settle{transition:transform .22s,opacity .22s}.flag-card .flag-title{margin:4px 0 0;font-size:20px}.flag-card .flag-msg{color:var(--ink-2);flex:1;margin:0;font-size:15.5px;line-height:1.55}.flag-card .btn.sm{align-self:flex-start}.stamp{font-weight:800;font-family:var(--head);letter-spacing:.04em;text-transform:uppercase;pointer-events:none;border:2px solid;border-radius:10px;align-items:center;gap:6px;padding:6px 12px;display:inline-flex;position:absolute;top:18px}.stamp.done{color:var(--green);border-color:var(--green);background:var(--green-soft);right:18px}.stamp.later{color:var(--sky-ink);border-color:var(--sky);background:var(--sky-soft);left:18px}.deck-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:18px;display:flex}.deck-btn{border-radius:999px;justify-content:center;min-width:170px;min-height:48px;font-size:15px}.deck-btn.done{background:var(--green);border-color:var(--green);color:#fff}.deck-btn.later{background:var(--sky-soft);border-color:var(--sky);color:var(--sky-ink)}.deck-foot{justify-content:center;align-items:center;gap:10px;margin-top:10px;display:flex}.snooze-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.snooze-opt{border:1px solid var(--line);text-align:left;cursor:pointer;font:inherit;background:#fff;border-radius:12px;flex-direction:column;gap:2px;padding:12px;display:flex}.snooze-opt:hover{border-color:var(--sky);background:var(--sky-soft)}.snooze-opt span{color:var(--muted);font-size:12.5px}.flag-log .eyebrow{margin:14px 0 6px}.flag-log .timeline .pill{margin-left:6px}@media (width<=560px){.deck-btn{flex:1;min-width:0}.snooze-grid{grid-template-columns:1fr}.deck{min-height:360px}}.eyebrow{font-family:var(--head);letter-spacing:.08em;text-transform:uppercase;color:var(--sky-ink);font-size:11.5px;font-weight:700}.rev-table td .rev-amount{text-align:right;border:1px solid var(--line);background:#fff;width:104px;font-weight:700}.rev-table td .rev-amount:focus{border-color:var(--sky);box-shadow:0 0 0 3px #5bc2f238}.rev-table td select.input{max-width:100%}.pub{background:linear-gradient(#e8f6fd 0%,#f7fcff 340px,#fff 100%);min-height:100vh}.pub-head{align-items:center;gap:12px;max-width:760px;margin:0 auto;padding:16px 20px;display:flex}.pub-head img{background:#fff;border-radius:50%;box-shadow:0 2px 8px #0b3b8c1f}.pub-head b{font-family:var(--head);color:var(--blue);font-size:16px;display:block}.pub-head span{color:var(--muted);font-size:13px}.pub-main{max-width:760px;margin:0 auto;padding:4px 16px 60px}.pub-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:22px;padding:26px;position:relative}.pub-card h1{margin:0;font-size:clamp(26px,6vw,34px)}.pub-card h2{margin:0;font-size:22px}.pub-card p{margin:0;line-height:1.6}.pub-back{position:absolute;top:14px;right:14px}.pub-foot{color:var(--muted);text-align:center;justify-content:center;align-items:center;gap:6px;margin-top:16px;font-size:12.5px;display:flex}.btn.big{border-radius:14px;justify-content:center;min-height:52px;font-size:16px}.pub-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.pub-list li{background:var(--wash);border-radius:12px;align-items:center;gap:10px;padding:10px 12px;font-weight:600;display:flex}.pub-list svg{color:var(--sky-ink)}.pub-check{cursor:pointer;align-items:flex-start;gap:10px;font-size:14.5px;line-height:1.5;display:flex}.pub-check input{width:20px;height:20px;accent-color:var(--blue);flex:none;margin-top:2px}.pub-steps{scrollbar-width:none;gap:6px;margin:0 0 14px;padding:0;list-style:none;display:flex;overflow-x:auto}.pub-steps li{color:var(--muted);border:1px solid var(--line);background:#ffffffb3;border-radius:999px;flex:none;align-items:center;gap:6px;padding:5px 10px 5px 5px;font-size:12.5px;display:flex}.pub-steps li span{background:var(--line-2);border-radius:50%;place-items:center;width:20px;height:20px;font-size:11px;font-weight:800;display:grid}.pub-steps li.done span{background:var(--green);color:#fff}.pub-steps li.on{border-color:var(--sky);color:var(--blue);background:#fff}.pub-steps li.on span{background:var(--blue);color:#fff}.pub-steps li b{font-weight:700}.pub-doc{border:1px solid var(--line);background:#fbfdff;border-radius:14px;max-height:46vh;padding:16px 18px;font-size:14px;line-height:1.6;overflow-y:auto}.pub-doc p{margin:0 0 12px}.pub-doc .doc-title{text-align:center;font-weight:800;font-family:var(--head);color:var(--blue)}.pub-cert{background:var(--wash);color:var(--ink-2);border-radius:14px;padding:14px 16px;font-size:13px;line-height:1.55}.pub-cert p{margin:0 0 6px}.pub-choices{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.pub-choice{border:1.5px solid var(--line);min-height:48px;font:inherit;cursor:pointer;color:var(--ink-2);background:#fff;border-radius:12px;font-weight:700}.pub-choice.on{border-color:var(--blue);background:var(--sky-soft);color:var(--blue)}.pub-photo{cursor:pointer;flex-direction:column;gap:6px;display:flex}.pub-photo>span,.pub-photo img{border:2px dashed var(--line);min-height:150px;color:var(--muted);object-fit:cover;background:#fbfdff;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:100%;max-height:220px;display:flex}.pub-file{color:var(--ink);font-weight:700}.pub-review{gap:8px;margin:0;padding:0;list-style:none;display:grid}.pub-review li{border:1px solid var(--line);border-radius:12px;align-items:center;gap:10px;padding:12px;display:flex}.pub-review li span{background:var(--amber-soft);width:26px;height:26px;color:var(--amber);border-radius:50%;place-items:center;font-weight:800;display:grid}.pub-review li.done span{background:var(--green-soft);color:var(--green)}.pub-review li b{flex:1}.pub-done-icon{background:var(--sky-soft);width:76px;height:76px;color:var(--blue);border-radius:50%;place-items:center;margin:0 auto;display:grid}@media (width<=560px){.pub-card{border-radius:18px;padding:20px 16px}.pub-choices{grid-template-columns:1fr 1fr}.pub-back{align-self:flex-start;margin-top:8px;position:static}}.sigpad{border:1.5px solid var(--line);background:#fff;border-radius:14px;position:relative;overflow:hidden}.sigpad canvas{touch-action:none;cursor:crosshair;display:block}.sigpad-hint{color:#b9c7d3;pointer-events:none;font-size:15px;position:absolute;bottom:34px;left:18px}.sigpad-line{pointer-events:none;border-bottom:1.5px dashed #c9d7e2;position:absolute;bottom:30px;left:16px;right:16px}.sigpad-clear{position:absolute;top:6px;right:6px}.learn-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:14px;display:flex}.learn-top h1{margin:2px 0 0;font-size:clamp(24px,5vw,30px)}.learn-progress{background:var(--line-2);border-radius:999px;width:180px;height:8px;overflow:hidden}.learn-progress div{background:linear-gradient(90deg, var(--sky), var(--blue));height:100%}.lesson{flex-direction:column;gap:14px;font-size:15.5px;line-height:1.65;display:flex}.lesson p{margin:0}.lesson-video{background:#000;border-radius:14px;padding-top:56.25%;position:relative;overflow:hidden}.lesson-video iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.lesson-media{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;display:grid}.lesson-media img,.lesson-media video{border:1px solid var(--line);border-radius:12px;width:100%}.lesson-check{background:var(--green-soft);border-radius:14px;padding:12px 16px}.lesson-check b{color:var(--green);align-items:center;gap:6px;display:flex}.lesson-check ul{margin:6px 0 0;padding-left:20px}.learn-index{gap:6px;margin:16px 0 0;padding:0;list-style:none;display:grid}.learn-index button{border:1px solid var(--line);width:100%;font:inherit;text-align:left;cursor:pointer;color:var(--ink-2);background:#fff;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.learn-index li.done button{color:var(--green)}.learn-index li.on button{border-color:var(--sky);background:var(--sky-soft);color:var(--blue);font-weight:700}.learn-index button:disabled{opacity:.5;cursor:default}.quiz-q{border:1px solid var(--line);border-radius:14px;gap:8px;margin:0;padding:14px;display:grid}.quiz-q legend{padding:0 6px;font-weight:700}.quiz-opt{border:1.5px solid var(--line-2);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.quiz-opt.on{border-color:var(--blue);background:var(--sky-soft)}.quiz-opt input{accent-color:var(--blue);width:18px;height:18px}.quiz-review{border-left:4px solid var(--green);background:#f6fcf8;border-radius:0 10px 10px 0;padding:8px 12px}.quiz-review.bad{border-color:var(--red);background:#fff7f6}.doc-ticks{flex-wrap:wrap;gap:4px;display:flex}.doc-tick{background:var(--slate-soft);color:var(--muted);border-radius:999px;align-items:center;gap:3px;padding:2px 7px;font-size:11.5px;font-weight:700;display:inline-flex}.doc-tick.done{background:var(--green-soft);color:var(--green)}.doc-list{gap:6px;display:grid}.doc-row{border:1px solid var(--line);border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.doc-ico{background:var(--amber-soft);width:30px;height:30px;color:var(--amber);border-radius:50%;flex:none;place-items:center;display:grid}.doc-row.done .doc-ico{background:var(--green-soft);color:var(--green)}.copy-row{align-items:center;gap:8px;display:flex}.copy-row .input{flex:1;min-width:0}.course-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.course-card{border:1px solid var(--line);box-shadow:var(--shadow);text-align:left;min-height:220px;font:inherit;color:inherit;background:#fff;border-radius:18px;flex-direction:column;gap:10px;padding:18px;display:flex}.course-card h3{margin:0;font-size:18px}.course-card p{margin:0}.course-card.off{opacity:.65}.course-card.add{color:var(--sky-ink);cursor:pointer;box-shadow:none;background:var(--wash);border-style:dashed;justify-content:center;align-items:center;font-weight:700}.mini-bar{background:var(--line-2);border-radius:999px;width:110px;height:18px;position:relative;overflow:hidden}.mini-bar div{background:var(--sky);height:100%}.mini-bar span{color:var(--ink);place-items:center;font-size:11px;font-weight:800;display:grid;position:absolute;inset:0}.pick-list{border:1px solid var(--line);border-radius:12px;max-height:280px;overflow-y:auto}.pick{border-bottom:1px solid var(--line-2);cursor:pointer;align-items:center;gap:10px;padding:9px 12px;display:flex}.pick.on{background:var(--sky-soft)}.pick .cell-sub{display:block}.lesson-list{gap:6px;display:grid}.lesson-item{border:1px solid var(--line);background:#fff;border-radius:12px}.lesson-item.open{border-color:var(--sky)}.lesson-row{align-items:center;gap:6px;padding:6px 8px;display:flex}.lesson-n{background:var(--sky-soft);width:26px;height:26px;color:var(--blue);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:800;display:grid}.lesson-title{text-align:left;font:inherit;cursor:pointer;color:var(--ink);background:0 0;border:0;padding:4px;font-weight:700}.lesson-title .cell-sub{font-weight:400;display:block}.lesson-edit{border-top:1px solid var(--line-2);padding:6px 12px 14px}.media-strip{flex-wrap:wrap;gap:8px;display:flex}.media-thumb{border:1px solid var(--line);background:var(--wash);border-radius:10px;place-items:center;width:96px;height:72px;display:grid;position:relative;overflow:hidden}.media-thumb img{object-fit:cover;width:100%;height:100%}.media-thumb button{color:#fff;cursor:pointer;background:#132232b3;border:0;border-radius:50%;place-items:center;width:22px;height:22px;display:grid;position:absolute;top:3px;right:3px}.quiz-edit{border:1px solid var(--line);border-radius:14px;gap:8px;padding:12px;display:grid}.quiz-opt-edit{padding-left:22px}.quiz-opt-edit input[type=radio]{accent-color:var(--green);width:18px;height:18px}.msg-row{border:1px solid var(--line);border-radius:12px;padding:10px 12px}.msg-preview{white-space:pre-wrap;background:var(--wash);border-radius:14px;padding:14px 16px;font-size:14px;line-height:1.6}.tour{z-index:400;position:fixed;inset:0}.tour-dim{background:#0b224273;position:fixed;inset:0}.tour-hole{box-shadow:0 0 0 9999px #0b224273, 0 0 0 3px var(--sky);pointer-events:none;border-radius:14px;transition:all .25s;position:fixed}.tour-tip{background:#fff;border-radius:18px;gap:8px;padding:16px 18px;transition:top .25s,left .25s;display:grid;position:fixed;box-shadow:0 18px 50px -12px #0b224273}.tour-tip h3{margin:0;font-size:18px}.tour-tip p{color:var(--ink-2);margin:0;font-size:14.5px;line-height:1.55}.ai-fab{z-index:300;cursor:pointer;color:#fff;height:52px;font:inherit;background:linear-gradient(135deg,#0b3b8c,#2e7fd0 60%,#5bc2f2);border:0;border-radius:999px;align-items:center;gap:8px;padding:0 20px 0 16px;font-weight:700;transition:transform .15s;display:inline-flex;position:fixed;bottom:22px;right:22px;box-shadow:0 10px 28px #0b3b8c52}.ai-fab:hover{transform:translateY(-1px)}.ai-fab svg{width:20px;height:20px}.ai-fab.on{padding:0 16px}.ai-panel{z-index:300;border:1px solid var(--line);background:#fff;border-radius:22px;flex-direction:column;width:min(440px,100vw - 32px);height:min(680px,100vh - 120px);display:flex;position:fixed;bottom:86px;right:22px;overflow:hidden;box-shadow:0 24px 60px #0b3b8c38}.ai-panel>header{border-bottom:1px solid var(--line-2);background:linear-gradient(135deg,#e4f4fd,#fff);justify-content:space-between;align-items:center;padding:12px 12px 12px 16px;display:flex}.ai-panel>header b{font-family:var(--head);color:var(--blue);align-items:center;gap:6px;display:flex}.ai-panel>header span{color:var(--muted);font-size:12px}.ai-panel .ai-chat{flex:1;min-height:0}.ai-chat{background:#fff;flex-direction:column;height:100%;min-height:0;display:flex;position:relative}.ai-chat.drag{outline:2px dashed var(--sky);outline-offset:-8px}.ai-drop{color:var(--blue);pointer-events:none;z-index:2;background:#eaf7fdeb;border-radius:16px;place-items:center;font-weight:700;display:grid;position:absolute;inset:8px}.ai-body{flex-direction:column;flex:1;gap:14px;padding:16px;display:flex;overflow-y:auto}.ai-chat:not(.compact) .ai-body{padding:22px max(16px,50% - 410px)}.ai-row{align-items:flex-start;gap:10px;display:flex}.ai-row.user{justify-content:flex-end}.ai-avatar{color:#fff;background:linear-gradient(135deg,#0b3b8c,#5bc2f2);border-radius:50%;flex:none;place-items:center;width:30px;height:30px;margin-top:2px;display:grid}.ai-avatar svg{width:16px;height:16px}.ai-avatar.thinking{animation:1.4s ease-in-out infinite aiPulse}@keyframes aiPulse{0%,to{box-shadow:0 0 #5bc2f280}50%{box-shadow:0 0 0 7px #5bc2f200}}.ai-msg{min-width:0;max-width:100%;color:var(--ink);font-size:14.5px;line-height:1.6}.ai-row.assistant .ai-msg{flex:1;padding-top:4px}.ai-msg.user{background:var(--blue);color:#fff;white-space:pre-wrap;border-radius:18px 18px 6px;gap:8px;max-width:82%;padding:10px 14px;display:grid}.ai-msg.user .ai-file{background:#fffffff2}.ai-msg.error{color:var(--red);background:var(--red-soft);border-radius:14px;padding:10px 14px}.ai-msg-tools{opacity:.55;align-items:center;gap:8px;margin-top:4px;transition:opacity .15s;display:flex}.ai-row:hover .ai-msg-tools{opacity:1}.ai-msg-tools .btn.icon.sm{width:28px;height:28px;min-height:28px}.md>:first-child{margin-top:0}.md p{margin:0 0 10px}.md p:last-child{margin-bottom:0}.md h3,.md h4,.md h5,.md h6{font-family:var(--head);color:var(--blue);margin:14px 0 6px;font-size:15.5px}.md ul,.md ol{margin:4px 0 10px;padding-left:20px}.md li{margin:3px 0}.md li.nested{margin-left:18px;list-style:circle}.md code{background:var(--wash);border:1px solid var(--line-2);border-radius:6px;padding:1px 5px;font-size:13px}.md pre{color:#e8f1fa;background:#0f2340;border-radius:12px;padding:12px 14px;font-size:12.5px;overflow-x:auto}.md pre code{color:inherit;background:0 0;border:0;padding:0}.md blockquote{border-left:3px solid var(--sky);background:var(--sky-soft);border-radius:0 10px 10px 0;margin:8px 0;padding:6px 12px}.md a{color:var(--blue);font-weight:600}.md-table{border:1px solid var(--line);border-radius:12px;margin:8px 0 12px;overflow-x:auto}.md-table table{border-collapse:collapse;width:100%;font-size:13.5px}.md-table th{color:var(--blue);text-align:left;white-space:nowrap;background:#eef7fc;padding:8px 10px;font-weight:700}.md-table td{border-top:1px solid var(--line-2);padding:7px 10px}.md-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.md-table tr:nth-child(2n) td{background:#fafdff}.ai-files,.ai-pending{gap:8px;margin:10px 0 4px;display:grid}.ai-pending{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin:0 0 8px}.ai-file{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:14px;align-items:center;gap:10px;min-width:0;padding:9px 10px;display:flex}.ai-file.made{background:linear-gradient(135deg,#f2fafe,#fff);border-color:#bfe3f6}.ai-file-icon{background:var(--sky-soft);width:36px;height:36px;color:var(--blue);border-radius:10px;flex:none;place-items:center;display:grid}.ai-file-icon svg{width:19px;height:19px}.ai-file-name{flex:1;min-width:0;display:grid}.ai-file-name b{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;overflow:hidden}.ai-file-name small{color:var(--muted);align-items:center;gap:4px;font-size:12px;display:inline-flex}.ai-chart{border:1px solid var(--line);background:#fff;border-radius:14px;margin:4px 0 12px;padding:12px 12px 6px}.ai-chart figcaption{color:var(--blue);margin-bottom:6px;font-size:13.5px;font-weight:700}.ai-action{background:#fff9ec;border:1px solid #f3d9a4;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:10px 0 4px;padding:12px 14px;display:flex}.ai-action>div{gap:2px;min-width:0;display:grid}.ai-action small{text-transform:uppercase;letter-spacing:.04em;color:#a26a00;font-size:11.5px;font-weight:700}.ai-action.done{background:#f0faf4;border-color:#bce5cf}.ai-action.done small{color:var(--green)}.ai-action.cancelled,.ai-action.failed{border-color:var(--line);background:var(--wash)}.ai-action.cancelled small,.ai-action.failed small,.ai-action-mark{color:var(--muted)}.ai-action-mark.ok{color:var(--green)}.ai-steps{gap:5px;margin-bottom:6px;display:grid}.ai-step{color:var(--muted);align-items:center;gap:8px;font-size:13.5px;display:flex}.ai-step svg{width:15px;height:15px;color:var(--green);flex:none}.ai-step.on{color:var(--ink);font-weight:600}.ai-step.on svg{color:var(--sky)}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.ai-followups{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.ai-followups button{color:var(--blue);font:inherit;cursor:pointer;text-align:left;background:#f2fafe;border:1px solid #bfe3f6;border-radius:999px;padding:6px 12px;font-size:13px}.ai-followups button:hover{background:var(--sky-soft);border-color:var(--sky)}.ai-empty{text-align:center;margin:auto 0;padding:10px 6px}.ai-empty h3{font-family:var(--head);color:var(--blue);margin:10px 0 6px;font-size:19px}.ai-empty p{color:var(--ink-2);max-width:480px;margin:0 auto 16px;font-size:14px}.ai-hero{color:#fff;background:linear-gradient(135deg,#0b3b8c,#2e7fd0 60%,#5bc2f2);border-radius:18px;place-items:center;width:54px;height:54px;display:inline-grid;box-shadow:0 10px 24px #0b3b8c40}.ai-hero svg{width:26px;height:26px}.ai-hero.sm{vertical-align:middle;width:34px;height:34px;box-shadow:none;border-radius:11px;margin-right:10px}.ai-hero.sm svg{width:18px;height:18px}.ai-ideas{text-align:left;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;max-width:720px;margin:0 auto;display:grid}.ai-chat.compact .ai-ideas{grid-template-columns:1fr}.ai-ideas button{text-align:left;border:1px solid var(--line);font:inherit;cursor:pointer;color:var(--blue);background:#fff;border-radius:14px;padding:11px 13px;font-size:13.5px;line-height:1.4}.ai-ideas button:hover{background:var(--sky-soft);border-color:#bfe3f6}.ai-input{border-top:1px solid var(--line-2);background:#fff;padding:10px 12px 12px}.ai-chat:not(.compact) .ai-input{border-top:0;padding:12px max(16px,50% - 410px) 18px}.ai-input-row{border:1px solid var(--line);background:#fff;border-radius:18px;align-items:flex-end;gap:6px;padding:6px;display:flex;box-shadow:0 4px 16px #0b3b8c0f}.ai-input-row:focus-within{border-color:var(--sky);box-shadow:0 0 0 3px #5bc2f233}.ai-input textarea{resize:none;font:inherit;background:0 0;border:0;outline:none;flex:1;max-height:160px;padding:9px 6px;font-size:14.5px}.ai-input .btn.icon{border-radius:12px;width:40px;height:40px;min-height:40px}.ai-page{flex-direction:column;height:calc(100vh - 110px);min-height:520px;display:flex}.ai-page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.ai-page-head h1{font-family:var(--head);color:var(--blue);align-items:center;margin:0;font-size:24px;display:flex}.ai-page-head .tabs{border-bottom:0;margin-bottom:0}.ai-page-head .tabs button{align-items:center;gap:6px;display:inline-flex}.ai-work{border:1px solid var(--line);min-height:0;box-shadow:var(--shadow);background:#fff;border-radius:22px;flex:1;grid-template-columns:270px 1fr;display:grid;overflow:hidden}.ai-side{border-right:1px solid var(--line-2);background:linear-gradient(#f2fafe,#fff 40%);flex-direction:column;gap:10px;min-height:0;padding:14px 10px;display:flex}.ai-side>.btn{justify-content:center}.ai-side-search{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:6px;padding:0 10px;display:flex}.ai-side-search svg{width:15px;height:15px;color:var(--muted)}.ai-side-search input{font:inherit;background:0 0;border:0;outline:none;width:100%;padding:8px 0;font-size:13.5px}.ai-side-list{flex:1;margin:0 -4px;padding:0 4px;overflow-y:auto}.ai-side-group{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:12px 8px 4px;font-size:11.5px;font-weight:700}.ai-side-item{border-radius:10px;align-items:center;display:flex}.ai-side-item:hover,.ai-side-item.on{background:var(--sky-soft)}.ai-side-item.on .ai-side-title{color:var(--blue);font-weight:700}.ai-side-title{min-width:0;font:inherit;text-align:left;cursor:pointer;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;flex:1;align-items:center;gap:7px;padding:8px;font-size:13.5px;display:flex;overflow:hidden}.ai-side-title svg{color:var(--muted);flex:none}.ai-side-tools{display:none}.ai-side-item:hover .ai-side-tools,.ai-side-item.on .ai-side-tools{display:flex}.ai-side-tools .btn.icon.sm{width:26px;height:26px;min-height:26px}.ai-main{flex-direction:column;min-width:0;min-height:0;display:flex}.ai-mobile-bar{border-bottom:1px solid var(--line-2);gap:8px;padding:10px 12px;display:none}.ai-mobile-bar select{border:1px solid var(--line);min-width:0;font:inherit;background:#fff;border-radius:10px;flex:1;padding:7px 10px}.ai-docs{gap:16px;max-width:980px;display:grid}.ai-docs .panel-head h2{align-items:center;gap:8px;display:flex}.ai-lib{gap:8px;display:grid}.ai-lib-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ai-lib-row>.ai-file{flex:1;min-width:260px}.ai-knowledge{border:1px solid var(--line);resize:vertical;width:100%;min-height:460px;color:var(--ink);border-radius:14px;padding:14px;font:13.5px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace}.ai-knowledge:focus{border-color:var(--sky);outline:none;box-shadow:0 0 0 3px #5bc2f233}@media (width<=900px){.ai-work{grid-template-columns:1fr}.ai-side{display:none}.ai-mobile-bar{display:flex}.ai-page{height:calc(100vh - 96px)}}@media (width<=640px){.ai-fab span{display:none}.ai-fab{justify-content:center;width:52px;padding:0;bottom:16px;right:16px}.ai-panel{width:auto;height:calc(100vh - 100px);bottom:78px;left:8px;right:8px}.ai-msg.user{max-width:92%}.ai-avatar{display:none}}:is(body:has(.drawer) .ai-fab,body:has(.overlay) .ai-fab),:is(body:has(.drawer) .ai-panel,body:has(.overlay) .ai-panel),:is(body:has(.tour) .ai-fab,body:has(.tour) .ai-panel){display:none}.trip-fee-badge{border:2px solid var(--sky);background:var(--sky-soft);border-radius:16px;align-items:center;gap:14px;padding:12px 16px;display:flex}.trip-fee-badge b{font-family:var(--head);color:var(--blue);font-size:34px}.trip-fee-badge span{color:var(--ink-2);font-weight:700}.menu-wrap{display:inline-block;position:relative}.menu{z-index:50;border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:14px;gap:2px;width:290px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.menu.up{top:auto;bottom:calc(100% + 6px)}.drawer-foot .foot-actions{flex-wrap:wrap;flex:100%;justify-content:center;gap:8px;display:flex}.drawer-foot .foot-actions:empty{display:none}.drawer-foot .foot-actions>.btn,.drawer-foot .foot-actions>.menu-wrap{flex:1 1 0;min-width:140px}.drawer-foot .foot-actions>.menu-wrap>.btn{width:100%}.drawer-foot .foot-actions .btn{justify-content:center}.drawer-foot .foot-save{border-top:1px solid var(--line-2);flex:100%;justify-content:flex-end;gap:10px;padding-top:10px;display:flex}.drawer-foot .foot-actions:empty+.foot-save{border-top:0;padding-top:0}.menu button{text-align:left;font:inherit;cursor:pointer;color:var(--ink);background:0 0;border:0;border-radius:10px;gap:2px;padding:9px 10px;display:grid}.menu button span{color:var(--muted);font-size:12.5px}.menu button:hover:not(:disabled){background:var(--sky-soft)}.menu button:disabled{opacity:.45;cursor:not-allowed}.job.is-unclaimed{background:repeating-linear-gradient(135deg,#fff,#fff 12px,#f6fafd 12px 24px)}.match-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.bulk-bar{background:var(--sky-soft);border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);flex-wrap:wrap;align-items:center;gap:6px;padding:10px 18px;display:flex}.bulk-bar b{margin-right:4px}.stub-missing{background:#fff9ec;border:1px solid #f3d9a4;border-radius:14px;gap:8px;padding:12px 14px;display:grid}.stub-missing-row{border-top:1px solid var(--line-2);flex-wrap:wrap;gap:10px;padding:8px 0}.stub-missing .stub-missing-row:first-of-type{border-top:0}.pe-grid{grid-template-columns:minmax(300px,1fr) minmax(340px,1.15fr);align-items:start;gap:20px;display:grid}.pe-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);align-items:center;gap:6px;margin-bottom:6px;font-size:12px;font-weight:700;display:inline-flex}.pe-edit textarea{min-height:150px}.pe-tags{flex-wrap:wrap;gap:6px;margin-top:-4px;display:flex}.pe-tags button{color:var(--blue);cursor:pointer;background:#f2fafe;border:1px dashed #9ccfea;border-radius:8px;padding:3px 8px;font:12px ui-monospace,Menlo,monospace}.pe-tags button:hover{background:var(--sky-soft);border-style:solid}.pe-people{border:1px solid var(--line);border-radius:12px;gap:4px;max-height:220px;padding:4px;display:grid;overflow-y:auto}.pe-person{cursor:pointer;border-radius:9px;align-items:center;gap:10px;padding:7px 9px;display:flex}.pe-person.on,.pe-person:hover{background:var(--sky-soft)}.pe-person small{color:var(--muted);font-size:12px;display:block}.pe-preview{border:1px solid var(--line);background:#eaf7fd;border-radius:16px;position:sticky;top:0;overflow:hidden}.pe-preview-head{border-bottom:1px solid var(--line-2);background:#fff;gap:4px;padding:12px 14px;display:grid}.pe-meta{gap:10px;min-width:0;font-size:13px;display:flex}.pe-meta>span:first-child{width:62px;color:var(--muted);flex:none}.pe-meta b{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.pe-attach{background:var(--wash);border:1px solid var(--line-2);border-radius:8px;align-items:center;gap:4px;padding:1px 8px;font-size:12.5px;display:inline-flex}.pe-frame{background:#eaf7fd;border:0;width:100%;height:560px;display:block}@media (width<=900px){.pe-grid{grid-template-columns:1fr}.pe-preview{position:static}.pe-frame{height:480px}}.modal.wide:has(.pe-grid){max-width:1180px}.ob-sms{background:var(--wash);border-radius:16px;justify-items:start;gap:8px;padding:18px;display:grid}.ob-bubble{color:#111;white-space:pre-wrap;word-break:break-word;background:#e9e9eb;border-radius:18px 18px 18px 6px;max-width:420px;padding:10px 14px;font-size:14.5px;line-height:1.45}.notice svg{vertical-align:-3px}.select-all{color:var(--muted);padding:0 18px 10px}.bulk-list{flex-wrap:wrap;gap:6px;max-height:110px;display:flex;overflow-y:auto}.bulk-list span{background:var(--wash);border:1px solid var(--line-2);border-radius:8px;padding:3px 8px;font-size:12.5px}.paid-people{gap:6px;display:grid}.paid-person{border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 12px;display:flex}.per-top{z-index:2;border-bottom:1px solid var(--line-2);background:#fff;padding:6px 0 10px;position:sticky;top:-18px}.per-card{border:1px solid var(--line);background:#fff;border-radius:16px;overflow:hidden}.per-card.sent{border-color:#bce5cf}.per-card.off:not(.sent){opacity:.7}.per-head{border-bottom:1px solid var(--line-2);background:#f4fafd;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.per-card.sent .per-head{background:#f0faf4}.per-body{grid-template-columns:minmax(260px,340px) 1fr;gap:0;display:grid}.per-meta{border-right:1px solid var(--line-2);align-content:start;gap:8px;padding:14px;display:grid}.per-frame{background:#eaf7fd;border:0;width:100%;height:640px;display:block}@media (width<=860px){.per-body{grid-template-columns:1fr}.per-meta{border-right:0;border-bottom:1px solid var(--line-2)}}.pp-totals{border-bottom:1px solid var(--line-2);padding:14px 18px}.pp-bars{gap:4px;max-height:300px;display:grid;overflow-y:auto}.pp-bar{font:inherit;text-align:left;cursor:pointer;color:var(--ink);background:0 0;border:0;border-radius:10px;grid-template-columns:190px 1fr 110px 170px;align-items:center;gap:12px;padding:6px 8px;display:grid}.pp-bar:hover,.pp-bar.on{background:var(--sky-soft)}.pp-bar-label{font-size:13.5px;font-weight:600}.pp-bar-track{background:var(--wash);border-radius:99px;height:10px;overflow:hidden}.pp-bar-track span{background:linear-gradient(90deg,#5bc2f2,#0b3b8c);border-radius:99px;height:100%;display:block}.pp-bar b{text-align:right;font-variant-numeric:tabular-nums}.pp-people{flex-wrap:wrap;gap:4px;max-width:460px;display:flex}.pp-person{white-space:nowrap;cursor:pointer;background:#f2fafe;border:1px solid #cbe8f7;border-radius:999px;padding:2px 9px;font-size:12.5px}.pp-person.staff{background:#f3effe;border-color:#dcd2fb}.pp-person:hover{border-color:var(--sky)}.pp-person b{color:var(--blue);font-weight:700}@media (width<=760px){.pp-bar{grid-template-columns:1fr auto}.pp-bar-track,.pp-bar>.muted{display:none}}.staff-days{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.staff-days label{border:1px solid var(--line);text-align:center;border-radius:12px;gap:4px;padding:8px;display:grid}.staff-days label.on{border-color:var(--sky);background:var(--sky-soft)}.staff-days span{font-size:13px;font-weight:700;display:grid}.staff-days small{color:var(--muted);font-size:11.5px;font-weight:400}.staff-days input{text-align:center;border:1px solid var(--line);width:100%;font:inherit;border-radius:8px;padding:6px 4px}.staff-bar{background:var(--sky-soft);border-radius:12px;flex-wrap:wrap;padding:10px 12px}.staff-person{border:1px solid var(--line);border-radius:14px;gap:4px;padding:10px 12px;display:grid}.staff-row{border-top:1px solid var(--line-2);flex-wrap:wrap;align-items:center;gap:12px;padding:6px 0;font-size:14px;display:flex}.staff-day{min-width:120px;font-weight:600}@media (width<=640px){.staff-days{grid-template-columns:repeat(4,1fr)}}.ts-group{border:1px solid var(--line);border-radius:14px;overflow:hidden}.ts-head{border-bottom:1px solid var(--line-2);background:#f4fafd;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;display:flex}.ts-head select{border:1px solid var(--line);font:inherit;background:#fff;border-radius:10px;max-width:320px;padding:7px 10px;font-weight:700}.ts-rate{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.ts-rate input{border:1px solid var(--line);width:80px;font:inherit;border-radius:8px;padding:6px 8px}.ts-table{border-collapse:collapse;width:100%;font-size:13.5px}.ts-table th{text-align:left;color:var(--muted);padding:8px 10px;font-size:12px;font-weight:700}.ts-table td{border-top:1px solid var(--line-2);vertical-align:middle;padding:6px 10px}.ts-table .num{text-align:right}.ts-table input:not([type=checkbox]){border:1px solid var(--line);font:inherit;border-radius:8px;width:100%;min-width:0;padding:5px 8px}.ts-table input[type=date]{width:150px}.ts-table tr.off td{opacity:.55}.ts-pay{background:var(--sky-soft);border-radius:12px;flex-wrap:wrap;align-items:center;gap:16px;padding:12px 14px;display:flex}@media (width<=760px){.ts-table th:nth-child(5),.ts-table td:nth-child(5),.ts-table th:nth-child(6),.ts-table td:nth-child(6){display:none}}.modal{flex-direction:column;max-height:calc(94vh - 16px);display:flex}.modal-head,.modal-foot{flex:none}.per-top{top:-16px}
