:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#233c44;background:#f4f7f7;font-synthesis:none;--ink:#12343d;--muted:#61767c;--teal:#007e79;--line:#dde7e7;--nav:#102e36;--accent:#a4e5c3}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}button{cursor:pointer}a{color:#006e6d;text-decoration:none}button:disabled{cursor:wait;opacity:.6}button,.btn{border:1px solid var(--line);padding:10px 15px;border-radius:8px;background:white;color:var(--ink);font-size:13px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:7px}button:hover,.btn:hover{background:#eef7f4;border-color:#b4d5cb}.primary{background:var(--teal);border-color:var(--teal);color:#fff}.primary:hover{background:#006560;color:white}.danger{color:#a93838}.quiet{background:transparent;border-color:transparent}.small{padding:6px 10px;font-size:12px}.shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.sidebar{background:var(--nav);color:#c9d9dc;padding:30px 20px;position:fixed;width:230px;height:100vh;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:10px;color:white;font-weight:700;font-size:20px;letter-spacing:-.7px;margin:0 7px 34px}.brandmark{border:2px solid #8ee0d1;border-radius:10px 10px 18px 18px;width:31px;height:33px;display:grid;place-items:center;font-weight:400;color:#8ee0d1}.brand small{display:block;font-size:10px;color:#8fb5b9;letter-spacing:2px;text-transform:uppercase;margin-top:4px}.nav-label{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:#84a6ad;padding:13px 12px}.nav a{display:flex;align-items:center;gap:13px;padding:12px 13px;border-radius:8px;color:#c2d5d9;margin:3px 0;font-size:13px}.nav a.active{background:#22454d;color:#c0f2d6}.nav a:hover{background:#1c3e47}.nav .icon{width:18px;display:inline-flex;color:inherit}.icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.sidebar-foot{margin-top:auto;padding:18px 8px 0;border-top:1px solid #31515a;font-size:12px;color:#94b2b8}.sidebar-foot strong{color:#e5efef;display:block;margin-bottom:5px}.main{grid-column:2;padding:0 36px 40px;max-width:1800px;width:100%;min-width:0}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:15px}.crumb{font-size:12px;color:var(--muted)}.crumb strong{color:#30555e;font-weight:500}.user{display:flex;align-items:center;gap:10px;font-size:12px}.avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#ddeee7;color:#316c58;font-size:12px;font-weight:600}.demo-banner{background:#fff3d9;color:#785a25;padding:10px 15px;border:1px solid #f1deac;border-radius:8px;font-size:12px;margin:20px 0}.demo-banner strong{margin-right:6px}.heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:30px 0 24px}.eyebrow{font-size:10px;color:#6a868b;letter-spacing:1.6px;text-transform:uppercase;margin-bottom:10px;font-weight:700}h1{font-size:29px;letter-spacing:-.8px;font-weight:650;color:var(--ink);margin:0 0 8px}h2{font-size:17px;letter-spacing:-.25px;color:var(--ink);margin:0}h3{font-size:14px;margin:0 0 8px}p{line-height:1.6} .sub{color:var(--muted);font-size:13px;margin:0;line-height:1.65}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.metric{background:white;border:1px solid var(--line);border-radius:12px;padding:22px;position:relative}.metric .label{font-size:12px;color:var(--muted);margin-bottom:17px}.metric .value{font-size:29px;font-weight:650;letter-spacing:-1px;color:var(--ink)}.metric .foot{font-size:11px;color:#72888b;margin-top:8px}.metric.feature{background:#133e45;color:#cbe6e3;border-color:#133e45}.metric.feature .label,.metric.feature .foot{color:#b0d1cd}.metric.feature .value{color:#c3efcf}.two-col{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:22px}.panel{background:white;border:1px solid var(--line);border-radius:12px;margin-bottom:22px;overflow:hidden}.panel-header{padding:20px 22px;display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid #eaf0ef}.panel-body{padding:22px}.panel-header p{margin:6px 0 0}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th{font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:#768c91;font-weight:600;background:#fafcfc;padding:13px 18px;white-space:nowrap}td{padding:16px 18px;border-top:1px solid #eef3f2;vertical-align:middle}td strong{font-size:12px;font-weight:600;color:#294951}td small{display:block;color:#84969a;font-size:11px;margin-top:5px}.right{text-align:right}.nowrap{white-space:nowrap}.badge{display:inline-flex;align-items:center;border-radius:5px;padding:5px 8px;font-size:10px;white-space:nowrap;background:#edf2f3;color:#526f76;font-weight:600}.badge.green{background:#e5f3eb;color:#27734b}.badge.amber{background:#fff4dc;color:#956820}.badge.red{background:#fbeaea;color:#a43d3d}.badge.blue{background:#e7f2f9;color:#3b718f}.link{border:0;background:none;padding:0;text-align:left;color:#126e6c;font-size:12px;font-weight:600}.empty{padding:35px 24px;color:#7b8f93;text-align:center;font-size:13px;line-height:1.8}.empty strong{display:block;color:#385962;margin-bottom:5px;font-weight:500}.toolbar{display:flex;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap}.search{min-width:240px;max-width:400px}.tabs{display:flex;gap:4px;background:#e8efee;border-radius:8px;padding:4px}.tabs button{padding:7px 15px;border:0;background:transparent;font-size:12px}.tabs button.active{background:white;box-shadow:0 1px 3px #12343d12}.board{display:grid;grid-template-columns:repeat(4,minmax(215px,1fr));gap:14px;overflow:auto;padding-bottom:18px}.column{background:#edf2f2;border-radius:10px;padding:12px;min-height:210px}.column h3{display:flex;justify-content:space-between;font-size:12px;margin:3px 1px 14px}.column h3 span{color:#7b9296}.lead-card{border:1px solid #e0e9e8;background:white;border-radius:8px;padding:15px;margin-bottom:10px;box-shadow:0 2px 2px #213b4403}.lead-card p{font-size:11px;color:#678086;margin:8px 0}.lead-card .link{font-size:13px;line-height:1.5;color:#244750}.card-footer{border-top:1px solid #eef3f2;padding-top:10px;margin-top:12px;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#819498}.grid-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.job{padding:22px;border:1px solid var(--line);background:white;border-radius:12px}.job h3{font-size:16px;line-height:1.45;margin:14px 0 8px}.job .meta{font-size:11px;color:#7c9296;margin:14px 0}.progress{height:5px;border-radius:5px;background:#e6efeb;overflow:hidden;margin:14px 0}.progress i{display:block;background:#40a08a;height:100%}.progress i.planned{width:15%}.progress i.running{width:60%}.progress i.done{width:100%}.list-row{display:flex;gap:15px;padding:17px 22px;border-bottom:1px solid #eff3f3;align-items:center}.list-row:last-child{border:0}.list-row .grow{flex:1;min-width:0}.list-row small{display:block;color:#819398;font-size:11px;margin-top:6px}.number{width:29px;height:29px;border-radius:8px;background:#eff6f3;display:grid;place-items:center;font-size:12px;color:#58937d}.note{background:#f0f7f5;border-left:3px solid #82b8a1;border-radius:6px;padding:14px 16px;font-size:12px;color:#4a7068;line-height:1.7;margin:16px 0}.warning{background:#fff8e8;border-color:#d6b267;color:#8c6b32}.danger-note{background:#fff0ef;color:#a23e37;border-color:#d7857e}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:18px 0}.detail-grid div{font-size:13px;line-height:1.6}.detail-grid label{display:block;color:#809499;font-size:11px;margin-bottom:5px}.section-label{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#749096;border-bottom:1px solid var(--line);padding:17px 0 10px;margin:15px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:block;min-width:0}.field.full{grid-column:1/-1}.field>span{display:block;color:#47656c;font-size:12px;margin-bottom:8px}.field small{display:block;font-size:11px;color:#82969b;line-height:1.5;margin-top:6px}input,select,textarea{border:1px solid #ccdcdd;border-radius:7px;padding:10px 11px;width:100%;color:#29464e;background:white;font-size:13px}textarea{resize:vertical;min-height:90px}input:focus,select:focus,textarea:focus{border-color:#2a9486;outline:2px solid #b5dfd74d}input[type=checkbox]{width:16px;height:16px;vertical-align:middle;margin-right:8px}.check{display:flex;align-items:flex-start;font-size:12px;line-height:1.7}.check input{flex-shrink:0;margin-top:4px}.form-footer{display:flex;justify-content:flex-end;gap:10px;padding-top:24px;margin-top:20px;border-top:1px solid var(--line)}.form-error{font-size:12px;color:#b12f30;line-height:1.6;background:#fff0ed;padding:12px;border-radius:6px;margin-top:16px}.form-error:empty{display:none}dialog{border:0;border-radius:14px;padding:0;width:min(850px,calc(100vw - 32px));max-height:92vh;box-shadow:0 24px 90px #06252c33;color:var(--ink)}dialog::backdrop{background:#0c293a66;backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:22px 26px;border-bottom:1px solid var(--line);position:sticky;top:0;background:white;z-index:2}.modal-body{padding:25px 26px}.modal-head h2{font-size:19px}.modal-head button{font-size:19px;padding:1px 9px}.line-editor{border:1px solid var(--line);border-radius:8px;padding:14px;margin:12px 0;background:#fbfcfc}.line-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.line-grid input,.line-grid select{font-size:12px;padding:8px}.line-editor .description{margin-bottom:12px}.summary-bar{background:#edf7f1;border-radius:8px;padding:18px;display:flex;justify-content:space-between;margin:18px 0;font-size:13px}.summary-bar strong{font-size:20px}.auth{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:white}.auth-hero{background:#123b43;color:white;padding:12vh 10%;display:flex;flex-direction:column;justify-content:center}.auth-hero .brand{margin:0 0 80px}.auth-hero h1{color:#eef8f4;font-size:49px;line-height:1.2;max-width:450px;letter-spacing:-2px}.auth-hero p{color:#a7c7ca;max-width:400px;margin-top:22px}.auth-hero .steps{display:flex;gap:15px;margin-top:40px;color:#a8ddc6;font-size:11px;flex-wrap:wrap}.auth-form{display:flex;flex-direction:column;justify-content:center;padding:10vh 15%;max-width:700px}.auth-form h2{font-size:25px;margin-bottom:10px}.auth-form .field{margin:20px 0}.auth-form .primary{width:100%;padding:13px}.auth-form .sub{margin-bottom:24px}.auth-footer{font-size:11px;color:#98a8ad;margin-top:35px;line-height:1.8}.loading{padding:15vh;text-align:center;color:var(--muted)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:13px 20px;border-radius:8px;background:#163d43;color:white;font-size:13px;z-index:200;box-shadow:0 5px 20px #153b4420;opacity:0;pointer-events:none;transition:opacity .2s}#toast.show{opacity:1}.report-head{display:flex;justify-content:space-between;border-bottom:3px solid #14554f;padding-bottom:22px}.report-head h2{font-size:22px}.report-meta{font-size:12px;color:#6d8489;margin-top:7px}.report-text{font-size:12px;line-height:1.7;white-space:pre-wrap}.file-list{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.mobile-menu{display:none}.upload{position:relative}.upload input{margin-top:9px}.wide{grid-column:1/-1}.muted{color:#81969c}.status-dot{display:inline-block;width:6px;height:6px;background:#51a68a;border-radius:50%;margin-right:6px}.integrations{display:grid;grid-template-columns:1fr 1fr;gap:15px}.integration{border:1px solid var(--line);padding:18px;border-radius:9px}.integration h3{margin-bottom:10px}.integration p{font-size:12px;color:#788d92;margin-bottom:0}.cost{font-variant-numeric:tabular-nums}.hint{font-size:11px;color:#7f9398;line-height:1.7}.no-print{}.print-title{display:none}
@media(max-width:1200px){.main{padding:0 24px 30px}.metrics{gap:10px}.metric{padding:17px}.metric .value{font-size:25px}.grid-cards{grid-template-columns:1fr 1fr}.board{grid-template-columns:repeat(4,235px)}.two-col{grid-template-columns:1fr}}
@media(max-width:850px){.shell{grid-template-columns:1fr}.sidebar{display:none;top:0;left:0;box-shadow:5px 0 30px #0003}.sidebar.open{display:flex}.main{grid-column:1;padding:0 18px 30px}.mobile-menu{display:inline-flex}.metrics{grid-template-columns:1fr 1fr}.heading{margin-top:24px}.heading h1{font-size:25px}.user-name{display:none}.topbar{height:65px}.auth{grid-template-columns:1fr}.auth-hero{padding:35px 30px}.auth-hero .brand{margin-bottom:30px}.auth-hero h1{font-size:34px}.auth-hero p,.auth-hero .steps{display:none}.auth-form{padding:38px 30px}.grid-cards{grid-template-columns:1fr}.integrations{grid-template-columns:1fr}}
@media(max-width:520px){.heading{flex-direction:column}.form-grid,.detail-grid{grid-template-columns:1fr}.modal-body{padding:18px}.line-grid{grid-template-columns:1fr 1fr}.metric .value{font-size:23px}.search{min-width:0;width:100%}.topbar .crumb{display:none}.metrics{gap:8px}.metric{padding:15px}.metric .label{font-size:11px}}
@media print{body{background:white}.shell,#toast,.no-print,.modal-head button,.form-footer{display:none!important}dialog{position:static!important;display:block!important;width:100%;max-height:none;box-shadow:none;border-radius:0;overflow:visible;margin:0;padding:0}.modal-head{position:static}.modal-body{padding:20px 0}.panel{break-inside:avoid}table{font-size:11px}a{color:inherit}.print-title{display:block}dialog:not([open]){display:none!important}}
