:root{color-scheme:light;--bg:#f8fcff;--panel:#ffffff;--line:#e3e7ec;--line-strong:#cbd5df;--text:#1d2733;--muted:#697586;--accent:#0d9488;--accent-soft:#ecfdf9;--danger:#b42318;--shadow:0 14px 34px rgba(29,39,51,0.08)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:SFMono-Regular,Menlo,Consolas,Liberation Mono,Noto Sans Mono CJK JP,Yu Gothic UI,monospace;font-size:14px}.lp{min-height:100vh;background:#f7f8fa;color:#16202d;font-family:Inter,Noto Sans JP,Yu Gothic UI,system-ui,sans-serif}.lp-hero{min-height:82vh;background:url(/lp/hero.jpg) center 62%/cover;color:white;display:flex;flex-direction:column;text-shadow:0 2px 14px rgba(12,18,29,.5)}.lp-nav{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:22px clamp(20px,5vw,72px)}.lp-actions a,.lp-brand,.lp-final-cta a,.lp-nav a{color:inherit;text-decoration:none}.lp-brand{display:inline-flex;align-items:center;gap:10px;font-size:18px;font-weight:800}.lp-brand:before{content:"";width:12px;height:12px;border-radius:3px;background:#2dd4bf;display:inline-block}.lp-nav-links{display:flex;align-items:center;gap:22px;color:rgba(255,255,255,.78);font-size:14px}.lp-nav-links a:hover{color:white}.lp-nav-cta{border:1px solid rgba(255,255,255,.55);border-radius:6px;padding:10px 14px;font-weight:700}.lp-hero-inner{width:min(980px,100%);padding:clamp(56px,9vw,112px) clamp(20px,5vw,72px) clamp(72px,12vw,136px)}.lp-kicker{color:#0d9488;font-size:14px;font-weight:700;letter-spacing:0;text-transform:uppercase}.lp-hero .lp-kicker{color:#5eead4}.lp h1{font-size:clamp(42px,7vw,86px);line-height:1.02;margin:12px 0 20px;max-width:980px}.lp h1,.lp h2{letter-spacing:0}.lp h2{font-size:clamp(28px,4vw,48px);line-height:1.25;margin:0}.lp-copy{max-width:720px;font-size:clamp(17px,2vw,21px);line-height:1.8;color:rgba(255,255,255,.86)}.lp-actions{display:flex;gap:12px;margin-top:28px;align-items:center;flex-wrap:wrap}.lp-actions a,.lp-final-cta a{border:1px solid rgba(255,255,255,.6);border-radius:6px;padding:12px 16px;font-weight:700}.lp-actions .lp-primary,.lp-final-cta .lp-primary{background:#0f766e;border-color:#0f766e;color:white}.lp-actions .lp-primary:hover,.lp-final-cta .lp-primary:hover{background:#115e59;border-color:#115e59}.lp-stat-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:1px;gap:1px;background:#d7dee7}.lp-stat-strip div{background:white;padding:26px clamp(18px,4vw,44px);display:grid;grid-gap:4px;gap:4px}.lp-stat-strip strong{font-size:28px;color:#0f766e}.lp-stat-strip span{color:#667085}.lp-section{padding:clamp(64px,9vw,104px) clamp(20px,5vw,72px);display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);grid-gap:clamp(28px,5vw,64px);gap:clamp(28px,5vw,64px);align-items:start}.lp-section-head{display:grid;grid-gap:12px;gap:12px;position:-webkit-sticky;position:sticky;top:28px}.lp-section-head h2{max-width:620px}.lp-feature-grid,.lp-step-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.lp-ops-list,.lp-problem-list{display:grid;grid-gap:12px;gap:12px}.lp-card,.lp-problem-item,.lp-step{background:white;border:1px solid var(--line);border-radius:8px;padding:22px}.lp-card{min-height:210px;display:flex;flex-direction:column;gap:10px}.lp-card svg,.lp-ops-list svg,.lp-problem-item svg,.lp-security svg{color:#0f766e;flex:0 0 auto}.lp-card h3,.lp-ops-list h3,.lp-problem-item h3,.lp-step h3{margin:4px 0 0;font-size:18px}.lp-card p,.lp-ops-list p,.lp-problem-item p,.lp-security p{margin:0;color:#667085;line-height:1.8}.lp-ops-list article,.lp-problem-item{display:flex;gap:12px;align-items:flex-start}.lp-step span{color:var(--accent);font-weight:700;font-size:15px}.lp-step h3{margin:12px 0 8px}.lp-step p{color:var(--muted);line-height:1.7}.lp-ops{display:grid;grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr);min-height:680px;background:#101828;color:white}.lp-ops-media{background:url(/lp/agricultural-drone.jpg) 50%/cover}.lp-ops-content{padding:clamp(56px,8vw,96px) clamp(24px,5vw,72px);display:grid;align-content:center;grid-gap:22px;gap:22px}.lp-ops-content .lp-kicker{color:#fbbf24}.lp-ops-content>p{color:rgba(255,255,255,.78);line-height:1.9;font-size:17px;max-width:680px}.lp-ops-list article{border-top:1px solid rgba(255,255,255,.16);padding-top:16px}.lp-ops-list p{color:rgba(255,255,255,.68)}.lp-ops-list svg{color:#fbbf24}.lp-pricing{padding:clamp(64px,9vw,104px) clamp(20px,5vw,72px);background:#ffffff}.lp-pricing-head{display:grid;grid-gap:12px;gap:12px;max-width:820px;margin-bottom:28px}.lp-pricing-head p:last-child{margin:0;color:#667085;font-size:17px;line-height:1.8}.lp-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px}.lp-plan{position:relative;border:1px solid var(--line);border-radius:8px;padding:24px;display:grid;grid-template-rows:auto auto auto 1fr auto;grid-gap:18px;gap:18px;min-height:560px}.lp-plan.recommended{border-color:#0d9488;box-shadow:0 18px 46px rgba(13,148,136,.12)}.billing-plan-title,.lp-plan-badge{display:flex;align-items:center;gap:8px}.billing-badge{border-radius:999px;background:#ecfdf9;color:#0f766e;border:1px solid #99f6e4;padding:3px 8px;font-size:11px;font-weight:800;white-space:nowrap}.lp-plan-head{display:grid;grid-gap:8px;gap:8px}.lp-plan-head span{color:#0f766e;font-size:13px;font-weight:800}.lp-plan-head h3{margin:0;font-size:28px}.lp-plan-head p,.lp-plan-yearly{margin:0;color:#667085;line-height:1.7}.lp-plan-price{display:flex;align-items:baseline;gap:6px}.lp-plan-price strong{font-size:36px;letter-spacing:0}.lp-plan-price span{color:#667085}.billing-plan ul,.lp-plan ul{list-style:none;padding:0;margin:0;display:grid;grid-gap:10px;gap:10px}.billing-plan li,.lp-plan li{display:flex;align-items:flex-start;gap:8px;color:#344054;line-height:1.6}.billing-plan li svg,.lp-plan li svg{color:#0f766e;flex:0 0 auto;margin-top:3px}.lp-plan a{align-self:end;justify-self:stretch;text-align:center;border-radius:6px;padding:12px 14px;font-weight:800;text-decoration:none}.lp-plan-primary{background:#0f766e;color:white;border:1px solid #0f766e}.lp-plan-secondary{color:#16202d;border:1px solid var(--line)}.lp-shared-features{margin-top:16px;border:1px solid var(--line);border-radius:8px;padding:20px;display:grid;grid-gap:12px;gap:12px}.lp-shared-features h3{margin:0;font-size:18px}.billing-common div,.lp-shared-features div{display:flex;flex-wrap:wrap;gap:8px}.billing-common span,.lp-shared-features span{border:1px solid var(--line);border-radius:999px;padding:7px 10px;color:#344054;background:#f8fafc;font-size:13px;font-weight:700}.lp-security{padding:clamp(44px,7vw,76px) clamp(20px,5vw,72px);display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);grid-gap:clamp(24px,5vw,64px);gap:clamp(24px,5vw,64px);align-items:center;background:#eef4f7}.lp-security>div{display:grid;grid-gap:14px;gap:14px}.lp-security h2{font-size:clamp(26px,3.5vw,40px)}.lp-security p{font-size:17px;max-width:720px}.lp-final-cta{padding:clamp(72px,10vw,120px) clamp(20px,5vw,72px);display:grid;justify-items:start;grid-gap:18px;gap:18px;background:#ffffff}.lp-final-cta h2{max-width:820px}@media (max-width:860px){.lp-nav{align-items:flex-start}.lp-nav-links{display:none}.lp-feature-grid,.lp-ops,.lp-plan-grid,.lp-section,.lp-security,.lp-stat-strip,.lp-step-grid{grid-template-columns:1fr}.lp-section-head{position:static}.lp-ops-media{min-height:260px}}button,input,select,textarea{font:inherit}button{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:9px 13px;cursor:pointer;color:var(--text);transition:background .12s ease,border-color .12s ease,box-shadow .12s ease,transform .12s ease}button:hover{background:#f8fafc;border-color:var(--line-strong)}button:active{transform:translateY(1px)}button:disabled,button:disabled:hover{cursor:not-allowed;color:var(--muted);background:#f2f4f7;border-color:var(--line);box-shadow:none;transform:none}button.primary{background:var(--accent);color:white;border-color:var(--accent);box-shadow:0 8px 18px rgba(13,148,136,.18)}button.primary:hover{background:#0f766e;border-color:#0f766e}button.danger-button{color:var(--danger);border-color:#f3b5b0;background:#fffafa}button.danger-button:hover{background:#fef3f2}button.icon-button{width:34px;height:34px;padding:0;justify-content:center}.button-spinner,button.icon-button{display:inline-flex;align-items:center}.button-spinner{gap:8px}.button-label{display:inline-flex;align-items:center;justify-content:center;gap:7px}button .button-label span{color:inherit;font-size:inherit;font-weight:inherit;margin:0}.button-label svg{flex:0 0 auto}.button-spinner span{width:13px;height:13px;border-radius:999px;border:2px solid;border-right:2px solid transparent;animation:spin .72s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}input,select,textarea{border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:white;color:var(--text);outline:none}input[type=checkbox]{width:16px;height:16px;min-height:0;padding:0;border-radius:4px;accent-color:var(--accent)}input[type=checkbox]:focus{box-shadow:none}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:34px;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(13,148,136,.12)}.app-shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}.sidebar{background:#0b2a4a;color:#ffffff;padding:20px 14px;border-right:1px solid rgba(255,255,255,.08);position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow:hidden}.sidebar>*{position:relative}.sidebar h2{margin:4px 10px 20px;font-size:18px}.sidebar a,.sidebar button{color:rgba(255,255,255,.72);display:block;width:100%;text-align:left;margin:4px 0;background:transparent;border:0;border-radius:8px;padding:10px 12px;text-decoration:none}.sidebar a:hover,.sidebar button:hover{color:#ffffff;background:rgba(255,255,255,.1)}.sidebar button.active{font-weight:700}.sidebar button.active,.sidebar button.active:hover{background:#ffffff;color:#0f172a}.main{width:100%;max-width:1600px;justify-self:center;padding:28px 44px 96px}@keyframes page-enter{0%{opacity:0}to{opacity:1}}.page-enter{animation:page-enter .2s ease-out both}.login{max-width:420px;margin:60px auto}.signup-button-wrap{position:relative;display:block}.signup-button-wrap button{width:100%}.signup-button-wrap .signup-disabled-tooltip{display:none;position:absolute;z-index:90;left:0;bottom:calc(100% + 6px);width:100%;background:#111827;color:white;border-radius:6px;padding:7px 10px;box-shadow:0 8px 24px rgba(29,39,51,.2);font-size:12px;line-height:1.5;pointer-events:none;box-sizing:border-box}.signup-button-wrap:hover .signup-disabled-tooltip{display:block}.topbar{justify-content:flex-end;margin-top:0;padding:12px 0 18px;border-bottom:1px solid rgba(14,116,144,.18)}.org-switcher{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.role-pill{color:var(--muted)}.role-pill,.user-pill{border:1px solid var(--line);background:white;border-radius:999px;padding:8px 11px;font-size:13px}.user-pill{display:inline-flex;align-items:center;gap:7px;font-weight:700;color:var(--text)}.user-pill svg{color:var(--accent);flex:0 0 auto}.user-pill span{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar{display:flex;gap:10px;align-items:center;margin:16px 0;flex-wrap:wrap}.toolbar-add-button{margin-left:auto;white-space:nowrap}.filter-toolbar,.pilot-filter-toolbar{align-items:flex-end;gap:12px}.pilot-search-input,.search-input{min-width:220px}.filter-control{display:grid;grid-gap:6px;gap:6px}.filter-control>span{color:var(--muted);font-size:12px;font-weight:700}.filter-control select{min-width:160px}.filter-checks>div{display:flex;gap:10px;align-items:center;min-height:42px}.project-column-controls>div{gap:14px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:18px;box-shadow:var(--shadow)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-calendar{margin-top:24px}.schedule-gantt-section{margin-top:28px;padding-top:22px;border-top:1px solid #d7e5e5}.schedule-gantt-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.schedule-gantt-heading h2{margin:0;color:#1d2733;font-size:20px;line-height:1.3;font-weight:800}.billing-page{display:grid;grid-gap:16px;gap:16px}.billing-summary{display:flex;justify-content:space-between;gap:18px;align-items:center}.billing-summary-state{display:grid;grid-gap:12px;gap:12px}.billing-summary-metrics{display:flex;gap:22px;flex-wrap:wrap}.billing-summary-metrics div,.billing-summary-status{display:grid;grid-gap:6px;gap:6px}.billing-summary .billing-summary-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.billing-summary span{color:var(--muted);font-size:12px;font-weight:800}.billing-summary-metrics strong{font-size:28px}.billing-summary-status p{margin:0;color:var(--muted);line-height:1.7}.billing-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px}.billing-plan{position:relative;display:grid;grid-template-rows:auto auto auto 1fr auto;grid-gap:16px;gap:16px}.billing-plan.recommended{border-color:#0d9488;box-shadow:0 18px 46px rgba(13,148,136,.1)}.billing-plan.requested{outline:3px solid rgba(13,148,136,.16)}.billing-plan{grid-template-rows:auto auto auto 1fr auto auto;padding-bottom:14px}.billing-plan-cancel-link{background:none;border:none;padding:0;color:var(--muted);font-size:12px;text-decoration:underline;cursor:pointer;text-align:center}.billing-plan-cancel-link:hover{color:var(--text)}.billing-plan-head{display:grid;grid-gap:6px;gap:6px}.billing-plan-head h2{margin:0;font-size:24px}.billing-plan-head p,.billing-yearly{margin:0;color:var(--muted);line-height:1.7}.billing-price{display:flex;align-items:baseline;gap:6px}.billing-price strong{font-size:32px}.billing-price span{color:var(--muted)}.billing-common{display:grid;grid-gap:12px;gap:12px}.billing-common h2{margin:0;font-size:18px}.billing-note{margin:0;border:1px solid #b2ddff;background:#eff8ff;color:#175cd3;border-radius:8px;padding:10px 12px;font-weight:700}.billing-note.danger{border-color:#fecaca;background:#fef2f2;color:#b42318}.billing-note.warning{border-color:#fde68a;background:#fffbeb;color:#92400e}.billing-note{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.billing-note p{margin:0;flex:1 1 320px;line-height:1.7}.billing-note button{flex:0 0 auto}.billing-over-limit-link{border:1px solid #fecaca;border-radius:8px;background:#fff;color:#b42318;padding:8px 12px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;gap:10px;font-size:13px}.billing-over-limit-link:hover{background:#fef2f2}.billing-over-limit-link span{color:#98342d;font-weight:700;font-size:12px;border:0;background:transparent;padding:0}.billing-email{display:grid;grid-gap:12px;gap:12px}.billing-email h2{margin:0;font-size:18px}.billing-email .form-note{margin:0}.billing-email .form-note.success{color:#027a48}.billing-email-row{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap}.billing-email-row input{flex:1 1 280px;min-width:0}.global-billing-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;margin:0 0 12px;border-radius:10px;font-weight:700;flex-wrap:wrap}.global-billing-banner.warning{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.global-billing-banner.danger{background:#fef2f2;color:#b42318;border:1px solid #fecaca}.global-billing-banner button{border:1px solid;background:transparent;color:inherit;padding:6px 12px;border-radius:8px;font-weight:800;cursor:pointer}.global-billing-banner button:hover{background:rgba(255,255,255,.5)}.page-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin:0 0 12px}.page-header h1{margin:0}.page-header-extras{display:inline-flex;flex-wrap:wrap;gap:6px}.usage-hint{border:1px solid var(--line);background:#f8fafc;color:#344054;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;cursor:pointer;line-height:1.6}.usage-hint:hover{background:#eef2f7}.usage-hint.warning{border-color:#fde68a;background:#fffbeb;color:#92400e}.usage-hint.danger{border-color:#fecaca;background:#fef2f2;color:#b42318}.billing-usage{display:grid;grid-gap:12px;gap:12px}.billing-over-limit h2,.billing-usage h2{margin:0;font-size:18px}.billing-usage div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.billing-usage span{border:1px solid var(--line);border-radius:8px;padding:10px;background:#f8fafc;font-weight:700;color:#344054}.billing-over-limit{display:grid;grid-gap:12px;gap:12px;border-color:#fda29b;background:#fff7f5}.billing-over-limit-list{display:flex;gap:8px;flex-wrap:wrap}.billing-over-limit-list span{border:1px solid #fecaca;border-radius:8px;background:#fff;color:#b42318;padding:8px 10px;font-weight:800}.billing-over-limit p{margin:0;color:#7a271a;line-height:1.7;font-weight:700}.billing-confirm{display:grid;grid-gap:20px;gap:20px}.billing-confirm-flow{display:flex;align-items:stretch;gap:0}.billing-confirm-plan{flex:1 1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:18px 20px;border-radius:10px}.billing-confirm-plan.current{background:#f1f5f9}.billing-confirm-plan.next.upgrade{border:2px solid #2563eb;background:#eff6ff}.billing-confirm-plan.next.downgrade{border:2px solid var(--line);background:#f8fafc}.billing-confirm-plan.next.new{border:2px solid #16a34a;background:#f0fdf4}.billing-confirm-plan-label{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.04em}.billing-confirm-plan-name{color:var(--text);font-size:20px;font-weight:700;line-height:1.2}.billing-confirm-plan-price{color:var(--muted);font-size:13px;margin-top:2px}.billing-confirm-arrow{flex:0 0 auto;font-size:28px;padding:0 12px;color:var(--muted);display:flex;align-items:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.billing-confirm-arrow.upgrade{color:#2563eb}.billing-confirm-meta{display:flex;flex-direction:column;gap:3px}.billing-confirm-meta-label{color:var(--muted);font-size:12px;font-weight:600}.billing-confirm-meta-value{color:var(--text);font-size:14px;font-weight:600}.billing-confirm-note{margin:0;color:var(--muted);font-size:13px;line-height:1.7;padding:12px 14px;background:#f8fafc;border-radius:8px;border:1px solid var(--line)}.split{grid-template-columns:minmax(0,1.3fr) minmax(360px,.7fr);align-items:start}.split,.stack{display:grid;grid-gap:16px;gap:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.form-grid.one{grid-template-columns:1fr}.form-grid .check-group,.form-grid textarea{grid-column:1/-1}.check-group{display:grid;grid-gap:9px;gap:9px}.check-group strong{color:var(--muted);font-size:12px}.check-group-plain{gap:0}.auto-requirements{border-bottom:1px solid var(--line);padding-bottom:10px}.check-tile-grid{display:grid;grid-template-columns:1fr;grid-gap:1px;gap:1px}.check-tile{min-height:28px;display:flex;align-items:center;gap:8px;border:0;background:transparent;border-radius:6px;padding:3px 2px;color:var(--text);font-size:13px;line-height:1.35}.check-tile input{flex:0 0 auto}.check-tile span{min-width:0}.check{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}.disabled-option{text-decoration:line-through;color:#98a2b3}.detail{margin-top:16px}.error{background:#fef3f2;border:1px solid #fecdca;color:var(--danger);border-radius:6px;padding:10px 12px;margin:12px 0;font-size:14px}.form-note{margin:0 0 12px;color:#067647;font-size:14px;font-weight:700}.login-help-text{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.text-button{background:transparent;border-color:transparent;box-shadow:none;color:var(--accent);justify-content:center}.text-button:hover{background:#eff8ff;border-color:#b2ddff}.row-actions{display:flex;gap:8px}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes modal-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-6px) scale(.98)}}.modal-backdrop{position:fixed;inset:0;z-index:50;background:rgba(29,39,51,.42);display:grid;place-items:start center;padding:7vh 24px 24px;overflow:auto;opacity:0}.modal-backdrop.modal-open{animation:backdrop-in .18s ease forwards}.modal-backdrop.modal-closing{animation:backdrop-out .18s ease forwards;pointer-events:none}.modal-backdrop.modal-open .confirm-modal,.modal-backdrop.modal-open .modal{animation:modal-in .18s ease forwards}.modal-backdrop.modal-closing .confirm-modal,.modal-backdrop.modal-closing .modal{animation:modal-out .18s ease forwards}.modal{width:min(920px,100%);background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:18px;box-shadow:0 28px 80px rgba(29,39,51,.24)}.modal.drone-form-modal,.modal.pilot-form-modal,.modal.project-form-modal{width:min(1080px,100%);padding:28px}.modal.pilot-form-modal{width:min(860px,100%)}.modal.drone-form-modal{width:min(820px,100%)}.modal.drone-form-modal .modal-header,.modal.pilot-form-modal .modal-header,.modal.project-form-modal .modal-header{margin-bottom:24px}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}.modal-header h2{margin:0;font-size:20px}.modal-close-button{width:34px;height:34px;border:0;background:transparent;color:var(--danger);border-radius:8px;padding:0;display:inline-flex;align-items:center;justify-content:center;box-shadow:none}.modal-close-button:hover{border:0;background:#fef3f2;color:#7a271a}.confirm-backdrop{place-items:center;padding:24px}.error-modal-backdrop{z-index:200;overflow:hidden}.confirm-modal{width:min(440px,100%);background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:18px;box-shadow:0 28px 80px rgba(29,39,51,.24);display:grid;grid-template-columns:42px minmax(0,1fr);grid-gap:14px;gap:14px}.confirm-icon{width:38px;height:38px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:var(--accent);background:var(--accent-soft);border:1px solid #bdebe4}.confirm-icon.danger{color:var(--danger);background:#fef3f2;border-color:#fecdca}.confirm-body h2{margin:0 0 8px;font-size:18px}.confirm-body p{margin:0;color:var(--muted);line-height:1.7}.confirm-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.modal-form{display:grid;grid-gap:14px;gap:14px}.project-form-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.55fr);grid-gap:14px;gap:14px;align-items:start}.project-modal-form{gap:26px}.project-modal-form .project-form-layout{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:40px}.project-modal-form .project-form-column{gap:0}.project-modal-form .project-form-column:last-child{border-left:2px solid #b8c4cf;padding-left:32px}.project-modal-form .form-section{border:0;border-top:2px solid #b8c4cf;border-radius:0;margin-top:34px;padding:28px 0 0;background:transparent}.project-modal-form .project-form-column:first-child .form-section:first-child,.project-modal-form .project-form-column:last-child .form-section{border-top:0;margin-top:0;padding-top:0}.project-modal-form .project-form-column:last-child .form-section+.form-section{border-top:2px solid #b8c4cf;margin-top:34px;padding-top:28px}.project-modal-form .form-section h3{margin:0 0 20px;color:var(--text);font-size:18px;line-height:1.35;font-weight:800}.project-modal-form .form-grid{grid-template-columns:minmax(0,1fr);gap:18px}.project-modal-form .field{gap:8px}.project-modal-form .field span{color:#475467;font-size:14px;line-height:1.4;font-weight:800}.project-modal-form .check-group strong{color:#344054;font-size:15px;line-height:1.35;font-weight:800}.project-modal-form input,.project-modal-form select,.project-modal-form textarea{min-height:44px;font-size:14px}.project-modal-form input[type=checkbox]{width:16px;height:16px;min-height:0;padding:0}.project-modal-form textarea{line-height:1.6}.project-modal-form input::placeholder,.project-modal-form textarea::placeholder{color:#c4cdd8}.project-modal-form .check-group{gap:10px}.project-modal-form .check-tile-grid{gap:12px}.project-modal-form .check-tile{min-height:24px;padding:1px 2px;font-size:14px;font-weight:500}.project-modal-form .modal-actions{border-top:1px solid var(--line);padding-top:18px}.project-form-column,.resource-form-layout{display:grid;grid-gap:14px;gap:14px}.pilot-form{gap:18px}.pilot-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px 16px;gap:14px 16px}.pilot-form-layout{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:0;gap:0;align-items:start}.structured-pilot-form{gap:26px}.structured-pilot-form .pilot-form-column{display:grid;grid-gap:0;gap:0}.structured-pilot-form .pilot-form-conditions{border-top:2px solid #b8c4cf;margin-top:34px;padding-top:28px}.structured-pilot-form .form-section{border:0;border-top:2px solid #b8c4cf;border-radius:0;margin-top:34px;padding:28px 0 0;background:transparent}.structured-pilot-form .pilot-form-main .form-section:first-child{border-top:0;margin-top:0;padding-top:0}.structured-pilot-form .form-section h3,.structured-pilot-form .pilot-form-qualifications h3{margin:0 0 20px;color:var(--text);font-size:18px;line-height:1.35;font-weight:800}.structured-pilot-form .form-grid{grid-template-columns:minmax(0,1fr);gap:18px}.structured-pilot-form .field{gap:8px}.structured-pilot-form .field:not(.field-wide){max-width:520px}.structured-pilot-form .field:has(input[type=tel]){max-width:320px}.structured-pilot-form .field:has(select){max-width:320px}.structured-pilot-form .field span{color:#475467;font-size:14px;line-height:1.4;font-weight:800}.structured-pilot-form input,.structured-pilot-form select,.structured-pilot-form textarea{min-height:44px;font-size:14px}.structured-pilot-form input[type=checkbox]{width:16px;height:16px;min-height:0;padding:0}.structured-pilot-form textarea{line-height:1.6}.structured-pilot-form input::placeholder,.structured-pilot-form textarea::placeholder{color:#c4cdd8}.structured-pilot-form .modal-actions{border-top:1px solid var(--line);padding-top:18px}.pilot-form-qualifications{display:grid;grid-gap:10px;gap:10px;border-top:1px solid var(--line);padding-top:16px}.structured-pilot-form .pilot-form-qualifications{border-top:0;padding-top:0}.pilot-form-qualifications h3{margin:0;color:var(--muted);font-size:13px;line-height:1.35;font-weight:700}.pilot-form-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.form-section{border:1px solid var(--line);border-radius:8px;padding:16px;margin:0;background:#ffffff}.form-section h3{margin:0 0 12px;color:var(--muted);font-size:13px;font-weight:700}.field{display:grid;grid-gap:6px;gap:6px}.field span{color:var(--muted);font-size:12px;font-weight:700}.field-wide{grid-column:1/-1}.inline-control{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px}.inline-editor{grid-template-columns:minmax(0,1fr) auto auto;align-items:center}.compact-list,.inline-editor{display:grid;grid-gap:8px;gap:8px}.compact-list-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-gap:10px;gap:10px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:#fbfcfd}.qualification-picker{display:grid;grid-gap:8px;gap:8px;grid-column:1/-1}.qualification-picker-head{display:grid;grid-template-columns:minmax(0,1fr) 220px;grid-gap:12px;gap:12px;color:var(--muted);font-size:12px;font-weight:700}.qualification-row-list{display:grid;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:white}.qualification-row{display:grid;grid-template-columns:minmax(0,1fr) 220px;grid-gap:12px;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:10px 12px;background:white}.qualification-row:last-child{border-bottom:0}.qualification-row.selected{background:#fbfffe}.qualification-row-main{display:flex;align-items:center;gap:10px;min-width:0}.qualification-row-main span{display:grid;grid-gap:2px;gap:2px;min-width:0}.qualification-row-main strong{font-size:13px;line-height:1.35;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qualification-expiry-control{display:grid;grid-gap:6px;gap:6px}.qualification-expiry-control input[type=text]{min-height:38px;background:white}.qualification-expiry-control input[type=text]:disabled{color:#98a2b3;background:#f8fafb}.qualification-expiry-control input[type=text]::placeholder{color:#cbd5e1}.structured-pilot-form .qualification-picker{gap:12px}.structured-pilot-form .qualification-picker-head{grid-template-columns:minmax(0,1fr) 220px;gap:16px;color:#475467;font-size:14px;font-weight:800}.structured-pilot-form .qualification-row-list{border:0;border-radius:0;gap:12px}.structured-pilot-form .qualification-row{grid-template-columns:minmax(0,1fr) 220px;gap:16px;border-bottom:0;padding:0;background:transparent}.structured-pilot-form .qualification-row.selected{background:transparent}.structured-pilot-form .qualification-row-main{gap:8px}.structured-pilot-form .qualification-row-main strong{font-size:14px;font-weight:600}.structured-pilot-form .qualification-expiry-control input[type=text]{min-height:38px;font-size:13px;padding:7px 9px}.structured-drone-form{gap:26px}.drone-form-layout{grid-template-columns:minmax(0,1fr);align-items:start}.drone-form-layout,.drone-form-main{display:grid;grid-gap:0;gap:0}.structured-drone-form .form-section{border:0;border-top:2px solid #b8c4cf;border-radius:0;margin-top:34px;padding:28px 0 0;background:transparent}.structured-drone-form .drone-form-main .form-section:first-child{border-top:0;margin-top:0;padding-top:0}.structured-drone-form .form-section h3{margin:0 0 20px;color:var(--text);font-size:18px;line-height:1.35;font-weight:800}.structured-drone-form .form-grid{grid-template-columns:minmax(0,1fr);gap:18px}.structured-drone-form .field{gap:8px}.structured-drone-form .field:not(.field-wide){max-width:460px}.structured-drone-form .field:has(input[type=date]),.structured-drone-form .field:has(select){max-width:320px}.structured-drone-form .field:has(input[name=manufacturer]),.structured-drone-form .field:has(input[name=modelNumber]){max-width:360px}.structured-drone-form .field span{color:#475467;font-size:12px;line-height:1.4;font-weight:800}.structured-drone-form .check-group strong{color:#344054;font-size:15px;line-height:1.35;font-weight:800}.structured-drone-form input,.structured-drone-form select,.structured-drone-form textarea{min-height:44px;font-size:14px}.structured-drone-form input[type=checkbox]{width:16px;height:16px;min-height:0;padding:0}.structured-drone-form textarea{line-height:1.6}.structured-drone-form input::placeholder,.structured-drone-form textarea::placeholder{color:#c4cdd8}.structured-drone-form input:disabled{background:#f2f4f7;color:#98a2b3;cursor:not-allowed}.structured-drone-form .check-group{gap:10px}.structured-drone-form .check-tile-grid{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.structured-drone-form .check-tile{min-height:24px;padding:1px 2px;font-size:14px;font-weight:500}.structured-drone-form .modal-actions{border-top:1px solid var(--line);padding-top:18px}.registration-inline{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;max-width:520px}.drone-unregistered-check{width:-moz-fit-content;width:fit-content;min-height:44px;color:#475467;white-space:nowrap}.select-editor{position:relative}.select-editor-trigger{width:100%;min-height:42px;display:flex;justify-content:space-between;align-items:center;background:white;padding-right:14px}.select-arrow{margin-left:12px;padding-right:2px;font-size:12px;line-height:1}.select-arrow,.select-editor-trigger.placeholder{color:var(--muted)}.select-editor-trigger.field-error{border-color:var(--danger);box-shadow:0 0 0 3px rgba(180,35,24,.12)}.project-modal-form .field .field-error-message{font-size:12px;color:var(--danger);font-weight:400}.select-editor-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:80;display:grid;grid-gap:8px;gap:8px;border:1px solid var(--line);border-radius:8px;background:white;padding:6px;box-shadow:0 18px 48px rgba(29,39,51,.18)}.select-editor-list{display:grid;max-height:220px;overflow:auto}.select-editor-option{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;border-color:transparent;background:transparent;padding:10px 11px}.select-editor-option.selected,.select-editor-option:hover{background:var(--accent-soft);border-color:#bdebe4}.select-editor-check{color:var(--accent);font-size:12px;font-weight:700}.select-editor-manage-toggle{width:100%;color:var(--muted);background:#f8fafb;border-style:dashed}.select-editor-manage{display:grid;grid-gap:8px;gap:8px;border-top:1px solid var(--line);padding-top:8px}.select-editor-add{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px}.select-editor-manage-list{display:grid;grid-gap:6px;gap:6px;max-height:180px;overflow:auto}.select-editor-manage-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-gap:6px;gap:6px;align-items:center;background:#fbfcfd;border:1px solid var(--line);border-radius:8px;padding:7px}.work-type-manager{display:grid;grid-gap:8px;gap:8px}.work-type-add{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:end;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fcfdfd}.work-type-table{box-shadow:none;table-layout:fixed}.work-type-table td:last-child,.work-type-table th:last-child{width:96px;text-align:right}.work-type-table .row-actions{justify-content:flex-end;align-items:center}.work-type-table .danger-button{min-width:34px}.work-type-table input{width:100%}.plain-cell-text{display:inline-block;padding:3px 0;color:var(--text)}.inline-text-button{padding:3px 0;color:var(--text);text-align:left;width:100%}.inline-text-button,.inline-text-button:hover{border-color:transparent;background:transparent}.inline-text-button:hover{color:var(--accent)}.add-row-button{width:100%;border-style:dashed;color:var(--muted);background:#f8fafb}.add-row-button:hover{color:var(--accent);background:var(--accent-soft);border-color:#bdebe4}.condition-page{display:grid;grid-gap:22px;gap:22px}.condition-panel{border-top:1px solid var(--line);padding-top:22px}.condition-panel:first-child{border-top:0;padding-top:0}.condition-panel-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.condition-panel-header h2{margin:0;font-size:20px;line-height:1.35;font-weight:800}.condition-table{box-shadow:none;table-layout:fixed}.condition-table th{background:#f6f8fa}.condition-table td strong{font-size:14px;line-height:1.5;font-weight:700}.condition-row-archived td{color:#98a2b3}.condition-row-archived td strong{color:#98a2b3;text-decoration:line-through}.condition-state-cell{width:132px;text-align:center}.condition-state-cell .status-badge{display:flex;width:max-content;margin-inline:auto}.condition-actions-cell{width:210px;text-align:right}.condition-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px}.condition-archive-wrap{position:relative;display:inline-flex}.condition-archive-wrap .condition-in-use-tooltip{display:none;position:absolute;z-index:90;right:0;bottom:calc(100% + 6px);min-width:180px;max-width:240px;background:#111827;color:white;border-radius:6px;padding:7px 10px;box-shadow:0 8px 24px rgba(29,39,51,.2);font-size:12px;line-height:1.5;pointer-events:none;white-space:nowrap}.condition-archive-wrap:hover .condition-in-use-tooltip{display:block}.condition-form-modal{width:min(560px,100%)}.condition-form .form-section{border:0;padding:0;background:transparent}.condition-form .form-section h3{margin:0 0 18px;color:var(--text);font-size:18px;line-height:1.35;font-weight:800}.condition-form .form-grid{grid-template-columns:minmax(0,1fr);gap:18px}.condition-form .field{gap:8px}.condition-form .field span{color:#475467;font-size:14px;line-height:1.4;font-weight:800}.condition-form input{min-height:44px;font-size:14px}.condition-form input::placeholder{color:#c4cdd8}.condition-form .modal-actions{border-top:1px solid var(--line);padding-top:18px}.candidate-card,.candidate-list{display:grid;grid-gap:10px;gap:10px}.candidate-card{border:1px solid var(--line);border-radius:8px;padding:14px;background:#fbfcfd}.candidate-card.recommended{background:#fbfffe;border-color:#bdebe4}.candidate-card.warning{background:#fffcf5;border-color:#fedf89}.candidate-card.blocked{opacity:.82}.candidate-main{display:grid;grid-template-columns:120px minmax(0,1fr) minmax(0,1fr);grid-gap:12px;gap:12px;align-items:center}.candidate-main strong{display:block;font-size:15px}.candidate-main span:not(.candidate-status){color:var(--muted);font-size:12px}.candidate-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700}.candidate-status.recommended{color:var(--accent)}.candidate-status.warning{color:#b54708}.candidate-status.blocked{color:var(--danger)}.candidate-reasons,.candidate-warnings{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.candidate-reasons{color:var(--danger)}.candidate-actions{display:flex;justify-content:flex-end}.muted-text{color:var(--muted)}.skeleton-line{display:block;height:12px;border-radius:999px;background:linear-gradient(90deg,#edf1f5,#f7f9fb 45%,#edf1f5 90%);background-size:200% 100%;animation:skeleton-shimmer 1.3s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}.skeleton-title{width:min(360px,70%);height:24px;border-radius:6px}.skeleton-wide{width:min(420px,88%);height:15px;border-radius:6px}.skeleton-medium{width:min(240px,62%);height:15px;border-radius:6px}.skeleton-label{width:86px;height:11px}.skeleton-button{width:96px;height:36px;border-radius:8px}.skeleton-stack{display:grid;grid-gap:12px;gap:12px;padding-top:4px}.project-detail-skeleton .assignment-panel{min-height:82px}.project-detail{display:grid;grid-gap:18px;gap:18px;animation:detail-appear .25s ease both}@keyframes detail-appear{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.project-detail-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:24px;gap:24px;align-items:start;border:1px solid var(--line);border-radius:8px;background:#ffffff;padding:20px}.project-detail-hero.pending-completion{border-color:#fdb022;background:#fffcf5}.project-detail-hero.history{background:#f8fafc}.project-detail-title-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.project-detail-title-row h2{margin:0;font-size:22px}.project-detail-hero p{margin:8px 0 0;color:var(--muted);font-weight:700}.project-detail-meta{display:grid;grid-gap:10px;gap:10px;margin-top:14px}.project-detail-meta div{display:grid;grid-gap:3px;gap:3px}.project-detail-meta span{color:var(--muted);font-size:11px;font-weight:700}.project-detail-meta strong{font-size:14px;line-height:1.55;font-weight:600}.project-detail-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;max-width:420px}.assignment-panel{border:1px solid var(--line);border-radius:8px;background:#ffffff;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px}.assignment-panel>div:first-child>span{display:block;color:var(--text);font-size:18px;line-height:1.35;font-weight:800;margin-bottom:10px}.detail-alert{border:1px solid #fecdca;background:#fffafa;color:var(--danger);border-radius:8px;padding:14px 16px;display:grid;grid-gap:10px;gap:10px}.detail-alert div{display:flex;flex-wrap:wrap;gap:6px}.detail-alert span{font-size:13px;line-height:1.6}.assignment-panel strong{display:block;font-size:16px}.assignment-panel em{display:inline-flex;width:-moz-fit-content;width:fit-content;margin-top:12px;margin-right:8px;border-radius:999px;padding:3px 9px;font-size:12px;font-style:normal;font-weight:700}.assignment-ng{background:#fef3f2;color:var(--danger);border:1px solid #fecdca}.assignment-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.assignment-panel.unassigned{border-color:#fedf89;background:#fffcf5}.assignment-panel.locked{background:#f8fafc}.permission-alert{border-color:#fedf89;background:#fffcf5;color:#92400e}.detail-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.detail-section{border:1px solid var(--line);border-radius:8px;background:#ffffff;padding:18px}.detail-section h3{margin:0 0 14px;font-size:18px;line-height:1.35;font-weight:800;color:var(--text)}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.detail-item{display:grid;grid-gap:4px;gap:4px}.detail-item.wide{grid-column:1/-1}.detail-item span{color:var(--muted);font-size:12px;font-weight:700}.detail-item strong{font-size:14px;line-height:1.6;font-weight:600}.detail-assignment,.detail-memo{margin:0;font-size:13px;line-height:1.7;white-space:pre-wrap}.permission-summary{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px;color:var(--muted);font-size:13px;font-weight:700}.permission-detail-grid{margin-top:4px}.pilot-detail{display:grid;grid-gap:16px;gap:16px;animation:detail-appear .25s ease both}.pilot-detail-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:14px}.pilot-detail-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pilot-detail-title-row h2{margin:0;font-size:22px}.pilot-detail-header p{margin:8px 0 0;color:var(--muted);font-size:13px;font-weight:700}.drone-detail{display:grid;grid-gap:18px;gap:18px;animation:detail-appear .25s ease both}.drone-detail-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:14px}.drone-detail-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.drone-detail-title-row h2{margin:0;font-size:22px}.drone-detail-header p{margin:8px 0 0;color:var(--muted);font-size:13px;font-weight:700}.drone-detail-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:18px;gap:18px;border-bottom:1px solid var(--line);padding-bottom:18px}.drone-detail-summary .detail-item span{font-size:12px}.drone-detail-summary .detail-item strong{font-size:15px}.drone-detail-section{border-top:1px solid var(--line);padding-top:18px}.drone-detail-summary+.drone-detail-section{border-top:0;padding-top:0}.drone-detail-section h3{margin:0 0 12px;color:var(--text);font-size:16px;line-height:1.35;font-weight:800}.pilot-detail-section{border:1px solid var(--line);border-radius:8px;background:#ffffff;padding:18px}.pilot-detail-section h3{margin:0 0 14px;color:var(--text);font-size:18px;line-height:1.35;font-weight:800}.pilot-detail-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.pilot-qualification-table{box-shadow:none;background:white}.pilot-contact-section{background:white}.pilot-contact-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-column-gap:24px;column-gap:24px;grid-row-gap:12px;row-gap:12px}.pilot-contact-item{display:grid;grid-gap:4px;gap:4px;min-width:0}.pilot-contact-item span{color:#475467;font-size:13px;font-weight:700}.pilot-contact-item strong{font-size:14px;line-height:1.6;font-weight:600;overflow-wrap:anywhere}.pilot-detail-footer{display:flex;justify-content:flex-end}.tag-line{display:grid;grid-gap:8px;gap:8px;margin-bottom:14px}.tag-line:last-child{margin-bottom:0}.tag-line>strong{color:#475467;font-size:15px;line-height:1.35;font-weight:800}.detail-tags{display:flex;flex-wrap:wrap;gap:8px}.project-detail-footer{display:grid;grid-gap:12px;gap:12px;justify-items:end}.project-detail-danger-footer{align-items:start}.project-terminal-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.modal-actions{display:flex;gap:10px;justify-content:flex-end}.tabs{display:flex;gap:6px;margin-bottom:12px;border-bottom:1px solid var(--line)}.tab-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--muted);padding:10px 12px;font-weight:700;cursor:pointer}.tab-button:hover{color:var(--text);background:#f8fafb}.tab-button.active{color:var(--accent);border-bottom-color:var(--accent)}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.calendar-nav{display:flex;align-items:center;gap:8px;min-width:0}.calendar-nav h1{margin:0 0 0 8px;font-size:22px;line-height:1.2;font-weight:700}.calendar-toolbar input[type=month]{width:168px}.calendar-shell{background:#ffffff;border:1px solid #c4d1da;border-radius:8px;overflow:hidden;box-shadow:var(--shadow)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid #c4d1da;background:#eef4f7}.calendar-weekdays div{padding:12px;color:#344054;font-size:14px;font-weight:700;text-align:center}.calendar-weekdays .sunday{color:#c2410c;background:#fff3ed}.calendar-weekdays .saturday{color:#175cd3;background:#eff8ff}.calendar-grid{display:block}.calendar-week{position:relative;min-height:calc(88px + var(--calendar-lanes, 1) * 40px);border-bottom:1px solid #c4d1da}.calendar-week:last-child{border-bottom:0}.calendar-week-days{position:absolute;inset:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-day{border-right:1px solid #c4d1da;background:#ffffff;padding:8px;min-width:0}.calendar-day:nth-child(7n){border-right:0}.calendar-day.outside{background:#f1f4f6;color:#98a2b3}.calendar-day.holiday{background:#fff7f3}.calendar-day.saturday{background:#f3f8ff}.calendar-day.outside.holiday{background:#f4e9e5}.calendar-day.outside.saturday{background:#e8eff7}.calendar-day-header{display:flex;justify-content:flex-end;min-height:24px}.calendar-day-header span{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;border-radius:999px;color:#344054;font-size:13px;font-weight:700}.calendar-day.outside .calendar-day-header span{color:#98a2b3}.calendar-day.holiday .calendar-day-header span{color:#c2410c}.calendar-day.saturday .calendar-day-header span{color:#175cd3}.calendar-day.outside.holiday .calendar-day-header span{color:#d16b4a}.calendar-day.outside.saturday .calendar-day-header span{color:#5b7fb6}.calendar-day.today .calendar-day-header span{background:var(--accent);color:white}.calendar-week-events{position:relative;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:36px;grid-row-gap:4px;row-gap:4px;min-height:calc(88px + var(--calendar-lanes, 1) * 40px);padding:40px 0 8px;pointer-events:none}.calendar-events{display:grid;align-content:start;grid-gap:5px;gap:5px;min-width:0}.calendar-event{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-left:4px solid var(--accent);background:#eff8ff;color:#175cd3;border-radius:6px;padding:4px 8px;display:flex;align-items:center;gap:6px;min-width:0;pointer-events:auto;margin:0 7px;box-shadow:0 2px 5px rgba(29,39,51,.14);cursor:pointer;text-align:left;transition:filter .12s ease,box-shadow .12s ease}.calendar-event:hover{filter:brightness(.98);box-shadow:0 2px 7px rgba(29,39,51,.16)}.calendar-event:active{transform:none}.calendar-event-label,.calendar-event-time{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.25;font-weight:800}.calendar-event-time{flex:0 0 auto}.calendar-event-label{min-width:0}.calendar-event-unassigned{border-left-color:#d97706;background:#fef0c7;color:#92400e}.calendar-event-assigned{border-left-color:#039855;background:#d1fadf;color:#05603a}.calendar-event-in_progress{border-left-color:#1570ef;background:#d1e9ff;color:#1849a9}.calendar-event-completion_pending{border-left-color:#ea580c;background:#fed7aa;color:#9a3412}.calendar-event-completed{border-left-color:#667085;background:#f2f4f7;color:#344054;opacity:.75}.calendar-event-cancelled{border-left-color:#667085;background:#e4e7ec;color:#475467;opacity:.68}.calendar-more{color:var(--muted);font-size:11px;font-weight:700;padding:1px 7px}.gantt-shell{background:#ffffff;border:1px solid #c4d1da;border-radius:8px;overflow-x:auto;box-shadow:var(--shadow)}.gantt-grid{min-width:1120px;display:grid;grid-template-columns:180px minmax(0,1fr)}.gantt-resource-head{position:-webkit-sticky;position:sticky;left:0;z-index:3;border-right:1px solid #c4d1da;padding:12px 14px;color:#344054;font-size:14px;font-weight:800}.gantt-days,.gantt-resource-head{background:#f6f8fa;border-bottom:1px solid #c4d1da}.gantt-days{display:grid;grid-template-columns:repeat(var(--gantt-days),minmax(28px,1fr))}.gantt-day-head{min-height:44px;display:flex;align-items:center;justify-content:center;border-right:1px solid #d9e3e8;color:#475467;font-size:12px;font-weight:700}.gantt-day-head:last-child{border-right:0}.gantt-row{display:contents}.gantt-resource{position:-webkit-sticky;position:sticky;left:0;z-index:2;display:grid;align-content:center;grid-gap:4px;gap:4px;min-height:64px;padding:10px 14px;border-right:1px solid #c4d1da;border-bottom:1px solid #c4d1da;background:#ffffff}.gantt-resource strong{font-size:14px;line-height:1.35;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-resource span{color:var(--muted);font-size:12px;line-height:1.35}.gantt-lane{position:relative;min-height:max(64px,calc(var(--gantt-lanes, 1) * 26px + 12px));display:grid;grid-template-columns:repeat(var(--gantt-days),minmax(28px,1fr));grid-template-rows:minmax(4px,1fr) repeat(var(--gantt-lanes,1),var(--gantt-bar-height,22px)) minmax(4px,1fr);align-items:center;align-content:stretch;grid-row-gap:var(--gantt-row-gap,4px);row-gap:var(--gantt-row-gap,4px);border-bottom:1px solid #c4d1da}.gantt-lane-dense{min-height:max(64px,calc(var(--gantt-lanes, 1) * (var(--gantt-bar-height, 14px) + var(--gantt-row-gap, 3px)) + 10px))}.gantt-day{grid-row:1/-1;align-self:stretch;min-height:0;border-right:1px solid #e3e7ec;border-bottom:1px solid #c4d1da;background:#ffffff}.gantt-day:last-child{border-right:0}.gantt-day-head.holiday,.gantt-day.holiday{background:#fff7f3;color:#c2410c}.gantt-day-head.saturday,.gantt-day.saturday{background:#f3f8ff;color:#175cd3}.gantt-bar{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;grid-row:1;z-index:1;height:22px;min-height:22px;margin:0 4px;border:0;border-radius:6px;padding:0;box-shadow:0 2px 5px rgba(29,39,51,.14);cursor:pointer}.gantt-lane-dense .gantt-bar{height:var(--gantt-bar-height,14px);min-height:var(--gantt-bar-height,14px);border-radius:4px;box-shadow:0 1px 3px rgba(29,39,51,.14)}.gantt-bar:hover{filter:brightness(.98);box-shadow:0 3px 8px rgba(29,39,51,.18)}.gantt-bar:focus-visible,.gantt-bar:hover{z-index:5}.gantt-bar.calendar-event-unassigned{background:#f59e0b}.gantt-bar.calendar-event-assigned{background:#12b76a}.gantt-bar.calendar-event-in_progress{background:#2e90fa}.gantt-bar.calendar-event-completion_pending{background:#f97316}.gantt-bar.calendar-event-completed{background:#98a2b3;opacity:.75}.gantt-bar.calendar-event-cancelled{background:#98a2b3;opacity:.72}.gantt-floating-tooltip{position:fixed;z-index:1000;display:grid;grid-gap:2px;gap:2px;width:max-content;min-width:180px;max-width:280px;padding:10px 12px;border:1px solid #d0d5dd;border-radius:6px;background:#ffffff;color:#101828;box-shadow:0 10px 22px rgba(16,24,40,.16);pointer-events:none;text-align:left;transform:translateX(-50%)}.gantt-tooltip-time{color:#667085;font-size:11px;font-weight:700;line-height:1.35}.gantt-tooltip-main{color:#101828;font-size:13px;font-weight:800;line-height:1.35;white-space:normal}.gantt-tooltip-sub{color:#475467;font-size:12px;font-weight:700;line-height:1.35;white-space:normal}.gantt-empty{margin:16px}.stat{background:#ffffff;border:1px solid var(--line);border-radius:8px;padding:16px;box-shadow:var(--shadow)}.stat.danger{background:#ffffff;border-color:var(--line);color:#9a3412}.stat strong{display:block;font-size:26px;margin-top:8px}table{width:100%;border-collapse:separate;border-spacing:0;background:var(--panel);border:1px solid #d7e5e5;border-radius:8px;overflow:hidden;box-shadow:var(--shadow)}.table-loading-caption{caption-side:top;padding:10px 14px;color:var(--muted);background:#f8fafb;border:1px solid #d7e5e5;border-bottom:0;border-radius:8px 8px 0 0;font-size:13px;font-weight:700;text-align:left}td,th{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;font-size:14px;vertical-align:middle}th{color:#475467;font-weight:700;background:#f6f8fa}th.th-sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}th.th-sortable:hover{background:#edf0f4}.th-sort-inner{gap:5px}.th-sort-icon,.th-sort-inner{display:inline-flex;align-items:center}.th-sort-icon{color:#98a2b3;flex-shrink:0}th.th-sortable:hover .th-sort-icon{color:#475467}.nowrap-cell{white-space:nowrap}tbody tr:last-child td{border-bottom:0}@keyframes row-enter{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes row-exit{0%{opacity:1}to{opacity:0}}@keyframes row-exit-height{0%{line-height:1;padding-top:12px;padding-bottom:12px;font-size:14px}to{line-height:0;padding-top:0;padding-bottom:0;font-size:0}}tbody tr.row-entering{animation:row-enter .18s ease both}tbody tr.row-exiting{animation:row-exit .35s ease both;pointer-events:none}tbody tr.row-exiting td{animation:row-exit-height .35s ease both;overflow:hidden}.table-footer-row td{padding:0;background:#ffffff}.table-add-row-button{width:100%;min-height:62px;justify-content:flex-start;border:0;border-top:1px dashed #b8c4cf;border-radius:0;color:#475467;background:#ffffff;box-shadow:none;font-weight:700;padding-left:18px}.table-add-row-button .button-label{gap:10px}.table-add-row-button .button-label svg{width:24px;height:24px;padding:4px;border:1px solid #b8c4cf;border-radius:999px;background:#f8fafb;color:#344054}.table-add-row-button:hover{color:var(--accent);background:#f8fafb}.table-add-row-button:hover .button-label svg{border-color:#99d8d0;background:var(--accent-soft);color:var(--accent)}.table-skeleton-row td{height:57px;background:#ffffff}.table-skeleton-row .table-skeleton-line{height:13px}.table-skeleton-row .skeleton-col-0{width:68%}.table-skeleton-row .skeleton-col-1{width:52%}.table-skeleton-row .skeleton-col-2{width:82%}.table-skeleton-row .skeleton-col-3{width:44%}.state-table{table-layout:fixed}.state-table td:first-child,.state-table th:first-child{width:8px;padding-left:0;padding-right:0}.state-table td,.state-table th{overflow:hidden;text-overflow:ellipsis}.state-table .project-permission-cell{width:112px;text-align:center}.state-table .project-customer-cell{width:17%;min-width:0;font-weight:600}.state-table .project-work-type-cell{width:11%;min-width:0}.state-table .nowrap-cell{width:190px}.state-table .project-site-cell{width:22%;min-width:0}.state-table .project-assignee-cell{width:150px;min-width:0}.state-table .project-assignee-cell,.state-table .project-customer-cell,.state-table .project-site-cell,.state-table .project-work-type-cell{white-space:nowrap}.row-state-marker-wrap{position:relative;display:block;width:8px;min-height:32px}.row-state-marker{display:block;width:4px;min-height:32px;border-radius:0 999px 999px 0}tr.row-alert .row-state-marker{background:var(--danger)}tr.row-completion-pending .row-state-marker{background:#f97316}tr.row-caution .row-state-marker{background:#fdb022}.row-state-tooltip{display:none;position:absolute;z-index:90;left:10px;top:50%;transform:translateY(-50%);min-width:180px;max-width:260px;background:#111827;color:white;border-radius:6px;padding:8px 10px;box-shadow:0 12px 30px rgba(29,39,51,.22);font-size:12px;line-height:1.5;pointer-events:none}.row-state-marker-wrap:hover .row-state-tooltip,.row-state-tooltip span{display:block}tr.clickable{cursor:pointer}tr.clickable:hover{background:var(--accent-soft)}tr.row-alert{background:#fffafa}tr.row-completion-pending{background:#fff7ed}tr.row-caution{background:#fffcf5}.badge{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:999px;padding:2px 8px;font-size:12px;line-height:1.5;text-align:center}.auto-badge{background:var(--accent-soft);border-color:#bdebe4;color:#087669}.review-badge{display:inline-flex;align-items:center;justify-content:center;border:1px solid #fdb022;background:#fffaeb;color:#b54708;border-radius:999px;padding:3px 8px;font-size:12px;line-height:1.5;font-weight:600;white-space:nowrap;text-align:center}.permission-badge,.status-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:3px 9px;font-size:12px;line-height:1.5;font-weight:700;white-space:nowrap;border:1px solid var(--line);background:#f8fafb;color:var(--muted);text-align:center}.permission-unchecked{background:#f8fafc;border-color:#e4e7ec;color:#667085}.permission-not_required{background:#f8fafc;border-color:#e4e7ec;color:#475467}.permission-preparing{background:#fffaeb;border-color:#fedf89;color:#b54708}.permission-submitted{background:#eff8ff;border-color:#b2ddff;color:#175cd3}.permission-approved{background:#ecfdf3;border-color:#abefc6;color:#067647}.permission-returned{background:#fff1f3;border-color:#fecdd6;color:#be123c}.status-unassigned{background:#fffaeb;border-color:#fedf89;color:#b54708}.status-assigned{background:#ecfdf3;border-color:#abefc6;color:#067647}.status-in_progress{background:#eff8ff;border-color:#b2ddff;color:#175cd3}.status-completion_pending{background:#fff1f3;border-color:#fda4af;color:#be123c}.status-completed{background:#ecfdf3;border-color:#abefc6;color:#067647}.status-cancelled{background:#fff1f3;border-color:#fecdd6;color:#be123c}.status-active{background:#ecfdf3;border-color:#abefc6;color:#067647}.status-inactive,.status-maintenance{background:#f8fafc;border-color:#e4e7ec;color:#667085}.project-cell{display:grid;grid-gap:5px;gap:5px;min-width:180px}.project-cell>span:first-child{font-weight:600}.table-badges{display:flex;flex-wrap:wrap;gap:4px}.mini-badge{justify-content:center;border:1px solid var(--line);background:#f8fafb;color:var(--muted);border-radius:999px;padding:1px 6px;font-size:11px;line-height:1.5;white-space:nowrap;text-align:center}.expiry-label,.mini-badge{display:inline-flex;align-items:center}.expiry-label{color:#344054}.expiry-none{color:var(--muted);font-weight:500}.expiry-soon{color:#b54708}.expiry-expired{color:var(--danger)}.status-cell{width:132px;text-align:center;vertical-align:middle}.status-cell-content{min-height:48px;display:flex;align-items:center;justify-content:center}.status-cell .status-badge{width:max-content}.action-cell{width:96px;text-align:center}.compact-action-button{padding:6px 10px;font-size:12px;font-weight:700;color:#ffffff;border-color:#c2410c;background:#ea580c;box-shadow:0 1px 2px rgba(154,52,18,.18);white-space:nowrap}.compact-action-button:hover{color:#ffffff;background:#c2410c;border-color:#9a3412}.danger{color:var(--danger)}@media (max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:static}.main{padding:22px 18px}.billing-plan-grid,.billing-usage div,.candidate-main,.compact-list-row,.detail-grid,.detail-layout,.form-grid,.grid,.inline-editor,.pilot-edit-grid,.project-detail-footer,.project-detail-hero,.project-form-layout,.qualification-row,.select-editor-add,.select-editor-manage-row,.split,.work-type-add{grid-template-columns:1fr}.billing-confirm-flow{flex-direction:column}.billing-confirm-arrow{align-self:auto;padding:6px 0;justify-content:center;transform:rotate(90deg)}.billing-summary{align-items:stretch;flex-direction:column}.drone-detail-summary{grid-template-columns:1fr}.project-modal-form .project-form-column:last-child{border-left:0;border-top:2px solid #b8c4cf;padding-left:0;padding-top:28px}.drone-form-layout,.structured-drone-form .check-tile-grid{grid-template-columns:1fr}.calendar-toolbar{align-items:stretch;flex-direction:column}.calendar-nav{flex-wrap:wrap}.calendar-toolbar input[type=month]{width:100%}.calendar-shell{overflow-x:auto}.calendar-grid,.calendar-weekdays{min-width:760px}}