:root{--navy:#102630;--navy-light:#1b3c49;--cyan:#08b9d0;--cyan-dark:#007f94;--ink:#20343f;--muted:#71818c;--line:#e2e9ed;--paper:#f3f6f8;--green:#17835c;--red:#b53a4b}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;font:14px/1.55 Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink)}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:var(--cyan-dark);text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}button:disabled{opacity:.55;cursor:wait}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.035em;line-height:1.2}h1{font-size:32px}h2{font-size:22px}h3{font-size:16px}small{font-size:12px}button,.primary,.secondary{border:0;border-radius:8px;padding:10px 15px;font-weight:600;background:white;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px}.primary{background:var(--cyan);color:#082a35}.primary:hover{background:#25cce0}.secondary{border:1px solid var(--line);background:white}.secondary:hover{background:#f0f6f8}.danger{background:#fff0f2;color:var(--red);border:1px solid #f0d0d6}.text-button{background:transparent;color:var(--cyan-dark);padding:7px 0;min-height:32px}.eyebrow{display:block;font-size:10px;letter-spacing:.18em;font-weight:700;color:var(--cyan-dark);margin-bottom:12px}.workspace{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:246px;background:var(--navy);color:#d7e4eb;padding:29px 19px;display:flex;flex-direction:column;z-index:30}.brand img{display:block;width:198px;max-width:100%;height:auto;margin:0 auto 34px}.workspace-label{display:flex;gap:10px;align-items:center;padding:0 10px 27px;border-bottom:1px solid #2c4653;margin-bottom:24px}.workspace-label strong{font-size:13px}.workspace-label small{display:block;color:#91aab7;font-size:11px;margin-top:3px}.brand-dot{height:9px;width:9px;background:var(--cyan);border-radius:50%;box-shadow:0 0 0 5px #08b9d015}.sidebar nav{display:grid;gap:7px}.sidebar nav button{justify-content:flex-start;background:transparent;color:#a7becb;font-size:13px;min-height:46px;padding:12px;gap:12px}.sidebar nav button>span{font-size:19px;width:20px;color:#8ba9b8;text-align:center;line-height:1}.sidebar nav button.active{background:#1d4451;color:#30cee1;box-shadow:inset 3px 0 var(--cyan)}.sidebar nav button.active>span{color:var(--cyan)}.sidebar nav b{margin-left:auto;padding:1px 6px;border-radius:5px;background:#08b9d01f;font-size:10px;color:#42d3e4}.sidebar-bottom{margin-top:auto;padding:35px 10px 0}.sidebar-bottom p{font-size:11px;line-height:1.7;color:#7e9baa;margin:15px 0}.sidebar-bottom a{font-size:12px;color:#b6d6e3}.private-state{font-size:10px;color:#a1bdcb;display:flex;align-items:center;gap:7px}.private-state span{background:#46c899;width:6px;height:6px;border-radius:50%}.main-shell{margin-left:246px}.topbar{height:82px;border-bottom:1px solid var(--line);background:white;padding:0 clamp(22px,3vw,48px);display:flex;align-items:center;justify-content:space-between;gap:15px}.breadcrumb{font-size:10px;letter-spacing:.13em;font-weight:700;color:var(--cyan-dark)}.breadcrumb span{margin:0 16px;color:#c6d1d8}.breadcrumb strong{font-size:12px;letter-spacing:0;color:var(--ink)}.top-actions{display:flex;gap:15px;align-items:center}.top-actions button{font-size:12px}.private-pill{font-size:11px;color:var(--green);background:#e7f5ef;border:1px solid #d4eae0;border-radius:100px;padding:6px 11px}.menu-toggle{display:none}main{padding:35px clamp(22px,3vw,48px) 50px;max-width:1700px;margin:auto}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:26px}.page-heading p{color:var(--muted);margin-top:10px;font-size:13px}.heading-actions{display:flex;gap:10px;flex-shrink:0}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:26px}.stat{background:white;border:1px solid var(--line);padding:22px;border-radius:12px;position:relative;overflow:hidden}.stat:first-child{border-top:3px solid var(--cyan);padding-top:20px}.stat small{display:block;letter-spacing:.08em;font-size:10px;color:var(--muted);font-weight:700}.stat strong{display:block;font-size:30px;letter-spacing:-.055em;line-height:1.4;margin:8px 0 4px}.stat p{font-size:11px;color:var(--muted)}.overview-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--navy);color:white;padding:23px 25px;border-radius:12px;margin-bottom:28px}.overview-strip h3{font-size:17px;color:white;margin-bottom:6px}.overview-strip p{font-size:12px;color:#aac3cf}.overview-strip button{white-space:nowrap;border-color:#315360;background:#1d3d4b;color:#54d6e4}.section-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:26px 0 18px}.section-head p{font-size:12px;color:var(--muted);margin-top:5px}.filter-bar{display:flex;align-items:center;gap:12px;margin-bottom:22px}.filter-bar input,.filter-bar select{margin:0;background:white;min-height:44px;border:1px solid #dbe4e9;border-radius:8px;padding:11px 14px;color:var(--ink);font-size:13px}.filter-bar input{flex:1;min-width:120px}.filter-bar select{max-width:220px}.filter-count{font-size:11px;color:var(--muted);white-space:nowrap}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.project-card{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .15s,transform .15s}.project-card:hover{box-shadow:0 9px 25px #16323e0d;transform:translateY(-2px)}.card-top{padding:20px 20px 17px;border-bottom:1px solid #f0f3f5;display:flex;align-items:center;gap:12px}.project-icon{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;flex:none;background:#e6f6f8;color:#008fa4;font-weight:700;font-size:16px}.project-icon.web{background:#edf0fc;color:#6376b4}.card-top>div:nth-child(2){min-width:0;flex:1}.card-top small{display:block;font-size:10px;color:var(--muted);margin-bottom:3px}.card-top h3{font-size:15px;line-height:1.35;overflow-wrap:anywhere}.more{min-width:28px;min-height:30px;padding:0;font-size:21px;color:#8599a5}.card-body{padding:16px 20px;flex:1}.project-domain{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#5e7784;margin-bottom:15px}.status{display:inline-flex;padding:4px 8px;border-radius:5px;font-size:10px;line-height:1.3;font-weight:700;background:#edf2f5;color:#677c88}.status.active,.status.paid{background:#e7f5ee;color:#187652}.status.test{background:#e9effc;color:#526fa7}.status.pending{background:#fff4dd;color:#9a6a1e}.status.off,.status.overdue{background:#fcecef;color:#af4053}.card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px;font-size:11px;color:var(--muted)}.card-meta strong{color:var(--ink);font-size:12px}.modules{display:flex;flex-wrap:wrap;gap:5px;margin-top:14px}.chip{font-size:10px;color:#708795;border:1px solid #e5edf1;padding:2px 6px;border-radius:4px;background:#fbfcfd}.card-links{display:flex;flex-wrap:wrap;gap:8px;padding:13px 20px;background:#fbfcfd;border-top:1px solid #eef2f5}.card-links a,.card-links button{font-size:11px;min-height:31px;padding:6px 9px;border-radius:6px;background:white;border:1px solid #dfe9ed;color:var(--cyan-dark);font-weight:600}.card-links a:first-child{background:#e7f6f8;border-color:#d1ecef}.panel{background:white;border:1px solid var(--line);border-radius:12px;padding:23px;margin-bottom:20px}.panel>p{color:var(--muted);font-size:13px;margin-top:10px}.table-scroll{overflow:auto;max-width:100%}table{width:100%;border-collapse:collapse;font-size:12px}th{font-size:10px;letter-spacing:.05em;text-align:left;background:#f6f8fa;color:var(--muted);padding:13px 15px;font-weight:700;white-space:nowrap}td{padding:17px 15px;border-bottom:1px solid #edf1f4;vertical-align:middle}td strong{display:block;font-size:13px}td small{display:block;color:var(--muted);font-size:11px;margin-top:4px}td .secondary,td .text-button{font-size:11px;min-height:33px;padding:7px 11px}td .actions{display:flex;gap:7px;flex-wrap:wrap}tr:last-child td{border:0}.empty{padding:45px 20px;text-align:center;border:1px dashed #d7e3e9;border-radius:12px;background:#ffffff80}.empty h3{font-size:17px}.empty p{font-size:13px;color:var(--muted);margin:10px 0 18px}.help-note{font-size:12px;color:var(--muted);margin:12px 0 0;line-height:1.65}.loading{padding:70px 20px;text-align:center;color:var(--muted)}footer{padding:20px clamp(22px,3vw,48px);display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);font-size:10px;color:#8b9ba5}dialog{border:0;border-radius:16px;padding:28px;width:min(720px,calc(100% - 30px));max-height:90dvh;box-shadow:0 20px 100px #0a253b55;color:var(--ink)}dialog::backdrop{background:#071c2d80}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.dialog-heading h2{font-size:22px}.close{padding:0;min-height:32px;min-width:32px;font-size:26px;font-weight:400;background:#f3f6f8}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .full{grid-column:1/-1}label{display:block;font-size:12px;font-weight:600;color:#385260}input,select,textarea{display:block;width:100%;border:1px solid #d3dfe5;border-radius:8px;padding:11px 12px;margin-top:7px;background:white;color:var(--ink);min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid var(--cyan);outline-offset:1px}textarea{min-height:88px;resize:vertical}.checks{display:flex;gap:10px 18px;flex-wrap:wrap;margin-top:9px}.checks label{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:400}.checks input{width:16px;height:16px;margin:0}.form-help{font-size:11px;line-height:1.5;font-weight:400;color:var(--muted);display:block;margin-top:6px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.error{color:var(--red);font-size:12px;margin-top:14px;min-height:16px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0}.detail-grid dt{font-size:11px;color:var(--muted);margin-bottom:4px}.detail-grid dd{margin:0;font-weight:600;font-size:13px;overflow-wrap:anywhere}.detail-links{display:flex;gap:10px;flex-wrap:wrap}.detail-notes{white-space:pre-wrap;overflow-wrap:anywhere;background:#f6f8fa;padding:15px;border-radius:8px;color:#536d7a;font-size:13px}.callout{padding:15px 18px;border-radius:9px;background:#eef8fa;border:1px solid #d3edf0;color:#3b6874;font-size:12px;line-height:1.6;margin:15px 0}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);background:#13343f;color:white;padding:12px 20px;border-radius:9px;opacity:0;pointer-events:none;transition:.2s;font-size:13px;z-index:100;max-width:calc(100% - 30px)}.toast.show{opacity:1;transform:translate(-50%,0)}.access-screen{min-height:100vh;background:radial-gradient(circle at 15% 70%,#0a5264 0,transparent 45%),#102630;display:grid;place-items:center;padding:30px}.access-card{width:min(460px,100%);color:white}.access-card img{width:220px;margin-bottom:50px}.access-card h1{font-size:44px}.access-card p{margin:22px 0 28px;color:#b7cdd7;font-size:15px}.access-card .eyebrow{color:#3ecbdc}.initial-loading{padding:100px 20px;text-align:center;color:var(--muted)}
@media(min-width:1600px){.project-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1200px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{padding:18px}.stat strong{font-size:26px}.sidebar{width:220px;padding:26px 15px}.main-shell{margin-left:220px}.brand img{width:180px}}@media(max-width:900px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:246px;box-shadow:15px 0 40px #09203030}.sidebar.menu-open{transform:translateX(0)}.main-shell{margin-left:0}.menu-toggle{display:inline-flex;font-size:12px;border:1px solid var(--line);padding:7px 11px;min-height:36px}.topbar{height:68px;padding:0 20px}.breadcrumb{display:none}.top-actions{gap:10px}main{padding:26px 20px}.stats{gap:12px}.stat{padding:16px}.stat small{font-size:9px}.stat strong{font-size:25px}.page-heading h1{font-size:28px}}@media(max-width:600px){.private-pill{display:none}.stats{grid-template-columns:1fr 1fr}.stat strong{font-size:27px}.project-grid{grid-template-columns:1fr}.page-heading{align-items:flex-start;flex-direction:column;gap:18px}.heading-actions{width:100%}.heading-actions>button{flex:1}.page-heading h1{font-size:29px}.overview-strip{align-items:flex-start;padding:20px;flex-direction:column}.filter-bar{flex-wrap:wrap;gap:9px}.filter-bar input{flex:1 1 100%}.filter-bar select{flex:1;max-width:none;width:40%;font-size:12px}.filter-count{width:100%}.form-grid,.detail-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}dialog{padding:23px 19px}.form-actions{flex-wrap:wrap}.form-actions button{flex:1}.form-grid input,.form-grid select,.form-grid textarea{font-size:16px}.panel{padding:18px}.table-scroll{margin:0 -5px}th,td{padding:13px 10px}.section-head{align-items:flex-start}footer{flex-direction:column;padding:20px;font-size:10px;gap:5px}.card-top{padding:19px}.topbar .secondary{min-height:36px}.access-card h1{font-size:38px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.access-card form{display:grid;gap:16px;text-align:left}.access-card form[hidden]{display:none}.access-card label{display:grid;gap:7px;font-weight:600}.access-card input{width:100%;padding:13px;border:1px solid #ccd8dd;border-radius:9px;font:inherit}.access-card form button{width:100%;justify-content:center}

.domain-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.domain-columns .panel{min-width:0}.domain-columns form{display:grid;gap:16px}.domain-columns label{display:grid;gap:8px;font-weight:600}.domain-columns input,.domain-columns select{width:100%;padding:12px;border:1px solid #cad7dd;border-radius:8px;font:inherit;min-width:0}.domain-input{display:flex;align-items:center;gap:8px}.domain-input span{font-size:13px;white-space:nowrap}.domain-input input{flex:1}.domain-columns h2{margin-top:0}@media(max-width:900px){.domain-columns{grid-template-columns:1fr}}@media(max-width:480px){.domain-input{flex-wrap:wrap}.domain-input input{flex-basis:100%}}

.card-links button.delete-project{color:#b42332;margin-left:auto}.card-links button.delete-project:hover{background:#fff1f2;color:#92172a}

#permanent-delete-form{display:grid;gap:16px}#permanent-delete-form label{display:grid;gap:8px}#permanent-delete-form input:not([type=checkbox]){width:100%;padding:12px;border:1px solid #cad7dd;border-radius:8px;font:inherit}#permanent-delete-form .permanent-check{display:flex;align-items:flex-start;gap:9px;font-size:14px}

.sync-state{font-size:12px;color:#4b6875}@media(max-width:700px){.sync-state{max-width:140px;text-align:right;font-size:11px}}
