@font-face{font-family:Cairo;src:url(fonts/cairo-regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Cairo;src:url(fonts/cairo-semibold.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:Cairo;src:url(fonts/cairo-bold.woff2) format("woff2");font-weight:700 900;font-display:swap}
:root{--navy:#082f50;--navy2:#073b60;--blue:#0e568e;--orange:#f4931d;--green:#168c65;--red:#c84545;--ink:#122d41;--muted:#82919b;--canvas:#f4f7f9;--line:#e0e8ec;--white:#fff;--shadow:0 15px 40px #12394f0d}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;max-width:100%;overflow-x:hidden}body{font-family:Cairo,Tahoma,Arial,sans-serif;color:var(--ink);background:var(--canvas)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{text-decoration:none;color:inherit}[hidden]{display:none!important}

/* Login and installer */
.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.login-visual{min-height:100vh;padding:52px clamp(35px,6vw,90px);position:relative;display:flex;flex-direction:column;overflow:hidden;color:#fff;background:linear-gradient(145deg,var(--navy),#0b4f7e)}.login-visual:before,.login-visual:after{content:"";position:absolute;border:48px solid #ffffff08;border-radius:50%}.login-visual:before{width:360px;height:360px;left:-160px;top:-120px}.login-visual:after{width:270px;height:270px;right:-120px;bottom:-120px}.login-visual img{width:220px;height:auto;position:relative;z-index:1;filter:drop-shadow(0 8px 16px #001a2a30)}.login-visual>div{margin:auto 0;position:relative;z-index:1}.login-visual>div>span{display:inline-flex;padding:7px 12px;color:#ffd29b;background:#ffffff0c;border:1px solid #ffffff17;border-radius:20px;font-size:10px;font-weight:800}.login-visual h1{margin:20px 0 14px;font-size:clamp(36px,4.8vw,67px);line-height:1.35;letter-spacing:-2px}.login-visual p{margin:0;color:#b9cede;font-size:13px}.login-visual ul{margin:0;padding:0;position:relative;z-index:1;display:flex;gap:20px;list-style:none;color:#9eb9ca;font-size:9px}.login-visual li:before{content:"✓";margin-left:6px;color:#5ed5a8}.login-card-wrap{display:grid;place-items:center;padding:25px}.login-card{width:min(430px,100%);padding:42px;background:#fff}.login-mini-logo{width:55px;height:55px;display:grid;place-items:center;color:#fff;background:var(--orange);border-radius:15px 4px;font-size:28px;font-weight:900}.login-card>small{display:block;margin-top:25px;color:var(--orange);font-size:9px;font-weight:900}.login-card h2{margin:5px 0 4px;font-size:27px}.login-card>p{margin:0 0 25px;color:var(--muted);font-size:10px}.login-card label,.installer-card label{display:grid;gap:7px;margin-top:13px;color:#3c5362;font-size:9px;font-weight:800}.login-card input,.installer-card input{width:100%;height:48px;padding:0 13px;outline:0;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:#fff}.login-card input:focus,.installer-card input:focus{border-color:#77aac8;box-shadow:0 0 0 4px #0e568e0d}.login-card>button,.installer-card form>button{width:100%;height:49px;margin-top:20px;padding:0 17px;display:flex;align-items:center;justify-content:space-between;color:#fff;background:var(--blue);border:0;border-radius:11px;font-size:11px;font-weight:900;box-shadow:0 12px 25px #0e568e28}.login-card footer{margin-top:18px;display:flex;align-items:center;justify-content:center;gap:7px;color:#91a0aa;font-size:8px}.login-card footer i{width:7px;height:7px;background:#36bb89;border-radius:50%;box-shadow:0 0 0 4px #36bb8917}.form-message{margin:12px 0;padding:11px 12px;color:#9d3d3d;background:#fff2f2;border:1px solid #f1d3d3;border-radius:9px;font-size:9px}.form-message.success{color:#167955;background:#edfaf5;border-color:#c9ebde}
.installer-page{min-height:100vh;background:linear-gradient(145deg,#edf4f7,#fff)}.installer-shell{min-height:100vh;display:grid;grid-template-columns:.9fr 1.1fr}.installer-brand{padding:55px clamp(35px,6vw,85px);display:flex;flex-direction:column;justify-content:center;color:#fff;background:linear-gradient(160deg,var(--navy),#0c598f)}.installer-brand img{width:220px;margin-bottom:42px}.installer-brand>span{color:#ffbd69;font-size:10px;font-weight:900}.installer-brand h1{margin:8px 0 12px;font-size:36px;line-height:1.45}.installer-brand p{margin:0;color:#b9d0df;font-size:11px;line-height:2}.installer-brand ul{margin:34px 0 0;padding:0;display:grid;gap:13px;list-style:none;color:#d7e5ee;font-size:10px}.installer-brand li:before{content:"✓";margin-left:9px;color:#58d1a3}.installer-card{width:min(690px,calc(100% - 40px));margin:auto;padding:34px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 25px 80px #0b38551a}.installer-heading small{color:var(--orange);font-weight:900}.installer-heading h2{margin:5px 0;font-size:24px}.installer-heading p{margin:0 0 20px;color:var(--muted);font-size:9px}.install-db-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.installer-card hr{margin:25px 0;border:0;border-top:1px solid var(--line)}.installer-card input[readonly]{color:#6f8796;background:#f4f7f9}.install-success{padding:45px 10px;text-align:center}.install-success>b{width:68px;height:68px;margin:auto;display:grid;place-items:center;color:#fff;background:var(--green);border-radius:50%;font-size:28px}.install-success h2{font-size:27px}.install-success p{color:var(--muted);font-size:10px}.install-success a{height:46px;margin-top:16px;padding:0 22px;display:inline-flex;align-items:center;color:#fff;background:var(--blue);border-radius:10px;font-size:10px;font-weight:900}

/* Main application */
.app-shell{min-height:100vh}.app-sidebar{width:246px;height:100vh;padding:20px 15px 17px;position:fixed;z-index:50;inset:0 0 0 auto;display:flex;flex-direction:column;color:#fff;background:linear-gradient(180deg,var(--navy),var(--navy2));box-shadow:-8px 0 30px #06294212;transition:.23s ease}.brand-button{min-height:116px;padding:4px 3px 13px;display:flex;align-items:flex-start;background:none;border:0;border-bottom:1px solid #ffffff14}.brand-button img{width:190px;height:auto;display:block}.brand-button>span{display:none;width:45px;height:45px;place-items:center;color:#fff;background:var(--orange);border-radius:12px 3px;font-size:22px;font-weight:900}.app-sidebar nav{margin-top:18px;display:grid;gap:6px}.app-sidebar nav button,.sidebar-toggle,.quick-upload{min-height:45px;padding:0 13px;position:relative;display:flex;align-items:center;gap:12px;color:#9db2c1;background:none;border:0;border-radius:11px;font-size:10px;font-weight:700;text-align:right}.app-sidebar nav button>b{width:21px;color:#7894a8;font-size:20px;line-height:1;text-align:center}.app-sidebar nav button:hover{color:#fff;background:#ffffff0b}.app-sidebar nav button.active{color:#fff;background:var(--blue);box-shadow:0 10px 23px #001b2f30}.app-sidebar nav button.active:before{content:"";width:3px;height:25px;position:absolute;right:-15px;background:var(--orange);border-radius:3px}.app-sidebar nav button.active>b{color:#ffb24e}.sidebar-footer{margin-top:auto;display:grid;gap:9px}.sidebar-toggle{min-height:40px;color:#9db2c1;background:#ffffff08;border:1px solid #ffffff12}.sidebar-toggle b{color:#ffb24e;font-size:25px;font-weight:400;line-height:1}.sidebar-toggle:hover{color:#fff;background:#ffffff12}.quick-upload{justify-content:center;color:#fff;background:var(--blue);border:1px solid #2670a2}.quick-upload b{font-size:19px}.profile-card{min-height:60px;padding:13px 5px 0;display:flex;align-items:center;gap:9px;border-top:1px solid #ffffff12}.profile-card>span{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;color:#fff;background:var(--orange);border-radius:10px 3px;font-weight:900}.profile-card>div{min-width:0;flex:1}.profile-card b,.profile-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-card b{font-size:9px}.profile-card small{margin-top:2px;color:#7896aa;font-size:7px}.profile-card i{width:7px;height:7px;background:#44cb98;border-radius:50%;box-shadow:0 0 0 4px #44cb9815}.workspace{width:calc(100% - 246px);min-height:100vh;margin-right:246px;transition:.23s ease}.app-shell.collapsed .app-sidebar{width:82px;padding-inline:11px}.app-shell.collapsed .workspace{width:calc(100% - 82px);margin-right:82px}.app-shell.collapsed .brand-button{min-height:91px;justify-content:center;align-items:center}.app-shell.collapsed .brand-button img{display:none}.app-shell.collapsed .brand-button>span{display:grid}.app-shell.collapsed .app-sidebar nav button{padding:0;justify-content:center}.app-shell.collapsed .app-sidebar nav button span,.app-shell.collapsed .sidebar-toggle span,.app-shell.collapsed .quick-upload span,.app-shell.collapsed .profile-card>div,.app-shell.collapsed .profile-card i{display:none}.app-shell.collapsed .sidebar-toggle,.app-shell.collapsed .quick-upload{width:46px;padding:0;margin:auto;justify-content:center}.app-shell.collapsed .profile-card{justify-content:center}.app-shell.collapsed .app-sidebar nav button.active:before{right:-11px}.topbar{height:86px;padding:0 34px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}.topbar h1{margin:0;font-size:21px}.topbar p{margin:4px 0 0;color:var(--muted);font-size:9px}.top-actions{display:flex;align-items:center;gap:8px;direction:ltr}.top-actions button{height:40px;padding:0 13px;display:flex;align-items:center;gap:7px;color:var(--blue);background:#eef7fb;border:1px solid #d8eaf3;border-radius:10px;font-size:9px;font-weight:800}.top-actions .primary-action{color:#fff;background:var(--blue);border-color:var(--blue)}.top-actions .icon-action{width:40px;padding:0;justify-content:center;color:#687d8a;background:#fff;border-color:var(--line);font-size:18px}.view-root,.loading-view{padding:26px 32px 40px}.loading-view{min-height:calc(100vh - 86px);display:grid;place-items:center;align-content:center;gap:10px;color:var(--muted)}.loading-view span{width:55px;height:55px;display:grid;place-items:center;color:#fff;background:var(--orange);border-radius:15px 4px;font-size:27px;font-weight:900}.loading-view p{font-size:9px}

/* Shared content */
.hero-panel{min-height:295px;padding:38px 42px;position:relative;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;overflow:hidden;color:#fff;background:linear-gradient(125deg,var(--navy),#0f6ca7);border-radius:20px;box-shadow:var(--shadow)}.hero-panel:before{content:"";width:360px;height:360px;position:absolute;left:-90px;top:-160px;border:58px solid #ffffff09;border-radius:50%}.hero-copy{position:relative;z-index:1}.hero-copy>span{display:inline-flex;padding:6px 11px;color:#bcd8e8;background:#ffffff0c;border:1px solid #ffffff1a;border-radius:18px;font-size:8px}.hero-copy h2{margin:14px 0 8px;font-size:34px;line-height:1.45}.hero-copy h2 em{color:#ffb24e;font-style:normal}.hero-copy p{margin:0;color:#bbd1df;font-size:10px}.hero-actions{margin-top:21px;display:flex;gap:9px}.hero-actions button{height:42px;padding:0 16px;color:var(--navy);background:#fff;border:0;border-radius:10px;font-size:9px;font-weight:900}.hero-actions button.secondary{color:#fff;background:#ffffff0c;border:1px solid #ffffff20}.hero-art{position:relative;z-index:1;display:grid;gap:12px}.hero-art article{width:82%;padding:15px;display:flex;align-items:center;gap:12px;color:var(--ink);background:#ffffffef;border-radius:13px;box-shadow:0 12px 35px #00213b1c;transform:rotate(-2deg)}.hero-art article:nth-child(2){margin-right:auto;transform:rotate(2deg)}.hero-art article>b{width:42px;height:42px;display:grid;place-items:center;color:#fff;background:var(--orange);border-radius:11px;font-size:20px}.hero-art strong,.hero-art small{display:block}.hero-art strong{font-size:9px}.hero-art small{margin-top:3px;color:var(--muted);font-size:7px}.stats-grid{margin-top:14px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat-card{min-height:105px;padding:18px;display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--line);border-radius:14px}.stat-card>span{width:46px;height:46px;display:grid;place-items:center;color:var(--blue);background:#eaf4fa;border-radius:12px;font-size:20px}.stat-card.orange>span{color:#d87904;background:#fff2e1}.stat-card.green>span{color:#158d65;background:#eaf8f3}.stat-card small,.stat-card strong{display:block}.stat-card small{color:var(--muted);font-size:8px}.stat-card strong{margin-top:1px;font-size:24px}.section-heading{margin:28px 0 12px;display:flex;align-items:end;justify-content:space-between}.section-heading h2{margin:0;font-size:18px}.section-heading p{margin:3px 0 0;color:var(--muted);font-size:8px}.section-heading button{color:var(--blue);background:none;border:0;font-size:9px;font-weight:900}.site-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.site-card{min-height:185px;padding:17px;position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 8px 24px #12394f08}.site-card:before{content:"";height:4px;position:absolute;inset:0 14px auto;border-radius:0 0 5px 5px;background:var(--blue)}.site-card.suspended:before{background:#94a4ad}.site-card.draft:before{background:var(--orange)}.site-card-head{display:flex;align-items:center;gap:11px}.client-avatar{width:46px;height:46px;display:grid;place-items:center;color:#fff;background:var(--blue);border-radius:13px 4px;font-size:20px;font-weight:900}.site-card-head>div{min-width:0;flex:1}.site-card h3{margin:0;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.site-card small{display:block;margin-top:3px;color:var(--muted);font-size:7px}.status{padding:5px 8px;display:inline-flex;align-items:center;gap:5px;border-radius:12px;font-size:7px;font-weight:800}.status:before{content:"";width:6px;height:6px;background:currentColor;border-radius:50%}.status.active{color:var(--green);background:#eaf8f3}.status.suspended{color:#71828d;background:#edf1f3}.status.draft{color:#b4721a;background:#fff2e1}.site-url{margin-top:14px;padding:9px 10px;overflow:hidden;color:var(--blue);background:#f2f8fb;border:1px solid #deedf4;border-radius:9px;font-size:7px;text-overflow:ellipsis;white-space:nowrap;direction:ltr;text-align:left}.site-meta{margin-top:10px;display:flex;gap:14px;color:var(--muted);font-size:7px}.site-actions{margin-top:auto;padding-top:13px;display:grid;grid-template-columns:1fr auto auto;gap:6px}.site-actions button,.site-actions a{height:34px;padding:0 10px;display:flex;align-items:center;justify-content:center;color:#526b7a;background:#fff;border:1px solid var(--line);border-radius:8px;font-size:8px;font-weight:800}.site-actions .open-files{color:#fff;background:var(--blue);border-color:var(--blue)}.site-actions .danger{color:var(--red);background:#fff7f7;border-color:#f1dddd}.empty-state{min-height:340px;display:grid;place-items:center;align-content:center;text-align:center;background:#fff;border:1px dashed #cedae0;border-radius:16px}.empty-state>b{font-size:37px;color:#9ab0bd}.empty-state h3{margin:9px 0 3px}.empty-state p{margin:0 0 14px;color:var(--muted);font-size:9px}.empty-state button{height:39px;padding:0 15px;color:#fff;background:var(--blue);border:0;border-radius:9px;font-size:9px;font-weight:900}

/* Clients */
.client-summary{min-height:90px;margin-bottom:14px;padding:16px 22px;display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:14px}.client-summary>span{width:44px;height:44px;display:grid;place-items:center;color:var(--blue);background:#e9f3f9;border-radius:12px;font-size:20px}.client-summary small,.client-summary strong{display:block}.client-summary small{color:var(--muted);font-size:8px}.client-summary strong{font-size:22px}.client-summary>i{width:1px;height:42px;margin:0 18px;background:var(--line)}.clients-table{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:14px}.client-row{min-height:64px;padding:0 18px;display:grid;grid-template-columns:minmax(190px,1.6fr) 1fr 1.2fr 80px 95px;gap:14px;align-items:center;border-bottom:1px solid #eef1f3;color:#647784;font-size:8px}.client-row.head{min-height:39px;color:#9aa6ae;background:#fafcfd}.client-cell{display:flex;align-items:center;gap:10px}.client-cell .client-avatar{width:37px;height:37px;font-size:15px}.client-cell b,.client-cell small{display:block}.client-cell b{color:var(--ink);font-size:9px}.client-cell small{margin-top:2px;color:var(--muted);font-size:7px}.client-row>a{overflow:hidden;color:var(--blue);text-overflow:ellipsis;white-space:nowrap;direction:ltr}.client-actions{display:flex;gap:4px}.client-actions button{width:29px;height:29px;padding:0;display:grid;place-items:center;color:#5e7684;background:#fff;border:1px solid var(--line);border-radius:7px}.client-actions button.danger{color:var(--red)}

/* Files */
.project-bar{min-height:74px;margin-bottom:12px;padding:11px 14px;display:flex;align-items:center;gap:11px;background:#fff;border:1px solid var(--line);border-radius:14px}.project-bar select{min-width:210px;height:39px;padding:0 10px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:9px;font-weight:800}.project-bar .status{margin-right:auto}.project-bar a{max-width:310px;margin-right:7px;padding:8px 10px;overflow:hidden;color:var(--blue);background:#f2f8fb;border:1px solid #deedf4;border-radius:8px;font-size:7px;text-overflow:ellipsis;white-space:nowrap;direction:ltr}.file-manager{min-height:620px;display:grid;grid-template-columns:205px minmax(0,1fr);overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:15px}.file-tree{padding:15px;border-left:1px solid var(--line)}.file-tree h3{margin:0 0 3px;font-size:11px}.file-tree>small{color:var(--muted);font-size:7px}.file-tree nav{margin-top:17px;display:grid;gap:5px}.file-tree nav button{min-height:40px;padding:0 10px;display:flex;align-items:center;justify-content:space-between;color:#6f828e;background:none;border:0;border-radius:9px;font-size:8px}.file-tree nav button.active{color:var(--blue);background:#eaf4fa;font-weight:900}.file-tree>button{width:100%;height:39px;margin-top:17px;color:var(--blue);background:#fff;border:1px solid var(--line);border-radius:9px;font-size:8px;font-weight:900}.files-pane{min-width:0}.files-toolbar{min-height:64px;padding:10px 13px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.files-toolbar h3{margin:0;font-size:11px}.files-toolbar p{margin:2px 0 0;color:var(--muted);font-size:7px}.files-toolbar>div:last-child{display:flex;gap:7px}.files-toolbar button{height:39px;padding:0 12px;color:#536c7a;background:#fff;border:1px solid var(--line);border-radius:9px;font-size:8px;font-weight:900}.files-toolbar .upload-package{color:#fff;background:var(--blue);border-color:var(--blue)}.files-list{min-width:650px}.file-row{min-height:49px;padding:0 14px;display:grid;grid-template-columns:minmax(220px,2fr) 80px 80px 105px 76px;gap:10px;align-items:center;color:#71838e;border-bottom:1px solid #eef2f4;font-size:7px}.file-row.head{min-height:36px;color:#9aa6ae;background:#fafcfd}.file-name{min-width:0;display:flex;align-items:center;gap:9px}.file-name>b:first-child{width:29px;height:29px;display:grid;place-items:center;color:var(--blue);background:#eaf4fa;border-radius:7px}.file-name>span{min-width:0}.file-name strong,.file-name small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-name strong{color:var(--ink);font-size:8px}.file-name small{margin-top:2px;color:#a0abb2;font-size:6px;direction:ltr;text-align:right}.file-row-actions{display:flex;gap:4px}.file-row-actions button,.file-row-actions a{width:29px;height:29px;padding:0;display:grid;place-items:center;color:#5d7583;background:#fff;border:1px solid var(--line);border-radius:7px}.files-empty{min-height:500px;display:grid;place-items:center;align-content:center;color:var(--muted);font-size:9px}.files-empty b{font-size:34px;color:#a1b3be}

/* Users, security and audit */
.permission-intro{min-height:135px;padding:24px 26px;display:flex;align-items:center;gap:18px;color:#fff;background:linear-gradient(120deg,var(--navy),#0e6099);border-radius:17px}.permission-intro>span{width:65px;height:65px;display:grid;place-items:center;background:#ffffff0e;border:1px solid #ffffff1a;border-radius:18px;font-size:28px}.permission-intro h2{margin:0;font-size:20px}.permission-intro p{margin:6px 0 0;color:#bad1df;font-size:9px}.permission-intro button{height:42px;margin-right:auto;padding:0 15px;color:var(--navy);background:#fff;border:0;border-radius:10px;font-size:9px;font-weight:900}.users-grid{margin-top:14px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.user-card{padding:17px;background:#fff;border:1px solid var(--line);border-radius:14px}.user-head{display:flex;align-items:center;gap:10px}.user-head>span{width:42px;height:42px;display:grid;place-items:center;color:#fff;background:var(--blue);border-radius:12px 4px;font-weight:900}.user-head>div{min-width:0;flex:1}.user-head b,.user-head small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-head b{font-size:10px}.user-head small{color:var(--muted);font-size:7px;direction:ltr;text-align:right}.role-badge{padding:4px 7px;color:#9b651c;background:#fff1df;border-radius:10px;font-size:7px;font-style:normal}.role-badge.owner{color:#0f7655;background:#e8f7f1}.user-stats{margin-top:13px;padding:10px;display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#f6f9fa;border-radius:9px}.user-stats small,.user-stats b{display:block}.user-stats small{color:var(--muted);font-size:6px}.user-stats b{font-size:11px}.permissions-preview{min-height:48px;margin:11px 0;display:flex;flex-wrap:wrap;align-content:flex-start;gap:4px}.permissions-preview span{padding:4px 6px;color:#557181;background:#edf4f7;border-radius:8px;font-size:6px}.user-actions{display:grid;grid-template-columns:1fr 1fr 40px;gap:6px}.user-actions button{height:34px;color:#536d7b;background:#fff;border:1px solid var(--line);border-radius:8px;font-size:7px;font-weight:800}.user-actions button.danger{color:var(--red);background:#fff7f7}.audit-table{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:14px}.audit-row{min-height:52px;padding:0 15px;display:grid;grid-template-columns:160px 1fr 1fr 140px;gap:12px;align-items:center;border-bottom:1px solid #eef2f4;font-size:8px}.audit-row.head{min-height:37px;color:var(--muted);background:#fafcfd}.audit-row b{color:var(--ink)}.audit-row time{direction:ltr;color:var(--muted)}.security-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.security-card{min-height:170px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:14px}.security-card>span{width:43px;height:43px;display:grid;place-items:center;color:var(--blue);background:#eaf4fa;border-radius:12px;font-size:20px}.security-card h3{margin:14px 0 5px;font-size:11px}.security-card p{margin:0;color:var(--muted);font-size:8px;line-height:1.9}.security-card em{margin-top:13px;display:inline-flex;padding:4px 7px;color:var(--green);background:#eaf8f3;border-radius:9px;font-size:7px;font-style:normal}.settings-card{max-width:640px;padding:24px;background:#fff;border:1px solid var(--line);border-radius:15px}.settings-card h2{margin:0;font-size:18px}.settings-card>p{margin:4px 0 20px;color:var(--muted);font-size:8px}.settings-card form{display:grid;gap:11px}.settings-card label{display:grid;gap:6px;color:#526b7a;font-size:8px;font-weight:800}.settings-card input{height:43px;padding:0 12px;border:1px solid var(--line);border-radius:9px;outline:0}.settings-card button{height:42px;color:#fff;background:var(--blue);border:0;border-radius:9px;font-size:9px;font-weight:900}

/* Dialogs */
.modal-backdrop{position:fixed;z-index:100;inset:0;padding:22px;display:grid;place-items:center;background:#06263fbd;backdrop-filter:blur(7px)}.modal{width:min(760px,96vw);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:19px;box-shadow:0 30px 100px #001a2f70}.modal>header{padding:20px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.modal>header h2{margin:0;font-size:18px}.modal>header p{margin:3px 0 0;color:var(--muted);font-size:8px}.modal-close{width:35px;height:35px;color:#6d808b;background:#f1f5f7;border:0;border-radius:9px;font-size:18px}.modal-body{padding:22px 24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-grid label,.permission-form>label{display:grid;gap:6px;color:#4c6574;font-size:8px;font-weight:800}.form-grid input,.form-grid select,.permission-form input,.permission-form select{width:100%;height:43px;padding:0 11px;outline:0;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:9px}.drop-zone{min-height:160px;margin-top:16px;padding:22px;display:grid;place-items:center;align-content:center;text-align:center;color:var(--blue);background:#f3f9fc;border:1.5px dashed #bed7e4;border-radius:13px}.drop-zone b{font-size:29px}.drop-zone h3{margin:7px 0 2px;color:var(--ink);font-size:11px}.drop-zone p{margin:0;color:var(--muted);font-size:7px}.modal>footer{padding:13px 24px;display:flex;justify-content:flex-end;gap:8px;background:#fafcfd;border-top:1px solid var(--line)}.modal>footer button{height:40px;padding:0 15px;color:#58707d;background:#fff;border:1px solid var(--line);border-radius:9px;font-size:8px;font-weight:900}.modal>footer button.primary{color:#fff;background:var(--blue);border-color:var(--blue)}.permission-form{display:grid;gap:13px}.permission-form .form-grid{margin-bottom:0}.permissions-box{padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#f6f9fa;border:1px solid var(--line);border-radius:11px}.permissions-box label,.visibility-toggle{min-height:38px;padding:7px 9px;display:flex;align-items:center;gap:8px;color:#526a78;background:#fff;border:1px solid #e7edef;border-radius:8px;font-size:7px}.permissions-box input,.visibility-toggle input{width:16px;height:16px;accent-color:var(--blue)}.editor-modal{width:min(980px,97vw)}.editor-modal .modal-body{padding:0}.file-editor{width:100%;min-height:520px;padding:18px;resize:vertical;outline:0;color:#c3dfd2;background:#0d1a26;border:0;font:12px/1.8 ui-monospace,SFMono-Regular,Menlo,monospace;direction:ltr;text-align:left}.toast{position:fixed;z-index:160;left:22px;bottom:22px;max-width:min(360px,calc(100vw - 30px));padding:12px 15px;color:#fff;background:#142d3f;border:1px solid #2b485c;border-radius:10px;box-shadow:0 12px 35px #001b2d35;font-size:8px;font-weight:800}.unavailable-page{min-height:100vh;display:grid;place-items:center;text-align:center;background:#f4f7f9}.unavailable-page main{padding:35px}.unavailable-page main>span{width:70px;height:70px;margin:auto;display:grid;place-items:center;color:#fff;background:var(--orange);border-radius:19px 5px;font-size:32px;font-weight:900}.unavailable-page h1{margin:18px 0 5px}.unavailable-page p{color:var(--muted)}.unavailable-page small{color:#9aa8b1}

/* iPad landscape */
@media (min-width:861px) and (max-width:1180px){.app-sidebar{width:84px;padding:14px 11px 16px}.workspace,.app-shell.collapsed .workspace{width:calc(100% - 84px);margin-right:84px}.app-shell.collapsed .app-sidebar{width:84px}.brand-button{min-height:80px;justify-content:center;align-items:center}.brand-button img{display:none}.brand-button>span{display:grid}.app-sidebar nav button{padding:0;justify-content:center}.app-sidebar nav button span,.sidebar-toggle,.quick-upload span,.profile-card>div,.profile-card i{display:none}.app-sidebar nav button.active:before{right:-11px}.quick-upload{width:46px;margin:auto;padding:0}.profile-card{justify-content:center}.site-grid,.users-grid{grid-template-columns:repeat(2,1fr)}.stats-grid{grid-template-columns:repeat(2,1fr)}.hero-panel{grid-template-columns:1fr}.hero-art{display:none}.file-manager{grid-template-columns:180px minmax(0,1fr)}.file-row{grid-template-columns:minmax(190px,2fr) 60px 65px 75px 70px}.view-root{padding-inline:22px}}

/* Phone and iPad portrait */
@media (max-width:860px){.app-shell{padding-bottom:calc(75px + env(safe-area-inset-bottom))}.app-sidebar,.app-shell.collapsed .app-sidebar{width:100vw;height:calc(66px + env(safe-area-inset-bottom));min-height:0;padding:6px 8px env(safe-area-inset-bottom);position:fixed;inset:auto 0 0;display:block;overflow:hidden;border-top:1px solid #ffffff18;box-shadow:0 -10px 30px #05253b2e}.brand-button,.sidebar-footer{display:none}.app-sidebar nav{width:100%;height:100%;margin:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(72px,1fr);gap:3px;overflow-x:auto;scrollbar-width:none}.app-sidebar nav::-webkit-scrollbar{display:none}.app-sidebar nav button{min-width:0;min-height:54px;padding:4px 1px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:7px}.app-sidebar nav button span{width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.app-sidebar nav button>b{width:auto;font-size:18px}.app-sidebar nav button.active:before{width:23px;height:3px;inset:-6px auto auto;border-radius:0 0 5px 5px}.workspace,.app-shell.collapsed .workspace{width:100%;max-width:100vw;margin:0}.topbar{height:76px;padding:0 15px}.topbar p{display:none}.topbar h1{font-size:17px}.top-actions button{width:40px;padding:0;justify-content:center}.top-actions button span{display:none}.view-root,.loading-view{padding:15px 14px 28px}.hero-panel{min-height:250px;padding:25px;grid-template-columns:1fr}.hero-copy h2{font-size:27px}.hero-art{display:none}.stats-grid{grid-template-columns:1fr 1fr}.stat-card{min-height:88px;padding:13px}.stat-card>span{width:39px;height:39px}.stat-card strong{font-size:19px}.site-grid,.users-grid{grid-template-columns:1fr 1fr}.site-card{min-height:175px}.project-bar{display:grid;grid-template-columns:minmax(0,1fr) auto}.project-bar select{min-width:0;width:100%}.project-bar a{max-width:none;grid-column:1/-1;margin:0}.file-manager{grid-template-columns:1fr}.file-tree{padding:11px;border:0;border-bottom:1px solid var(--line)}.file-tree nav{display:flex;overflow-x:auto}.file-tree nav button{min-width:max-content}.file-tree>button{margin-top:8px}.files-pane{overflow:hidden}.files-toolbar{display:grid;gap:8px}.files-toolbar>div:last-child{width:100%}.files-toolbar button{flex:1}.files-list{min-width:0}.file-row{grid-template-columns:minmax(220px,2fr) 65px 68px 78px 70px}.security-grid{grid-template-columns:1fr 1fr}.audit-table{overflow-x:auto}.audit-row{min-width:650px}.modal-backdrop{padding:10px}.modal{max-height:calc(100vh - 20px)}.installer-shell{grid-template-columns:1fr}.installer-brand{min-height:360px}.install-db-grid{grid-template-columns:1fr}.login-page{grid-template-columns:1fr}.login-visual{display:none}.login-card-wrap{min-height:100vh}.login-card{padding:25px}.form-grid{grid-template-columns:1fr}}

/* Mobile client cards and compact surfaces */
@media (max-width:700px){.view-root{padding:12px 10px 24px}.topbar{height:72px;padding-inline:12px}.topbar h1{max-width:145px;overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.site-grid,.users-grid{grid-template-columns:1fr}.stats-grid{gap:8px}.stat-card{padding:11px;gap:9px}.hero-panel{padding:22px 19px}.hero-copy h2{font-size:24px}.hero-actions{flex-wrap:wrap}.client-summary{min-height:82px;margin-bottom:11px;padding:13px 14px;display:grid;grid-template-columns:44px minmax(0,1fr) 1px minmax(0,1fr);gap:11px}.client-summary>i{height:37px;margin:0}.client-summary strong{font-size:18px}.clients-table{display:grid;gap:9px;overflow:visible;background:transparent;border:0}.client-row.head{display:none}.client-row:not(.head){width:100%;min-width:0;min-height:0;padding:13px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px 10px;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:0 5px 16px #10364d08}.client-row:not(.head) .client-cell{grid-column:1/-1;padding-bottom:10px;border-bottom:1px solid #edf1f3}.client-row:not(.head)>span:nth-child(2){display:flex;align-items:center;gap:5px;font-size:8px;direction:ltr}.client-row:not(.head)>span:nth-child(2):before{content:"المستخدم";color:#96a3ab;font-size:7px;direction:rtl}.client-row:not(.head)>a{grid-column:1/-1;display:block;padding:8px 9px;background:#f2f8fb;border:1px solid #deedf4;border-radius:9px}.client-row:not(.head)>.status{display:inline-flex;grid-column:2;grid-row:2}.client-row:not(.head)>.client-actions{grid-column:1/-1;padding-top:9px;display:grid;grid-template-columns:repeat(3,1fr);gap:7px;border-top:1px solid #edf1f3}.client-actions button{width:100%;height:36px}.file-row.head{display:none}.files-list{padding:7px;background:#f4f7f9}.file-row:not(.head){min-height:64px;margin-bottom:7px;padding:8px 9px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;background:#fff;border:1px solid var(--line);border-radius:10px}.file-row:not(.head)>span:nth-child(2),.file-row:not(.head)>span:nth-child(3),.file-row:not(.head)>span:nth-child(4){display:none}.file-row-actions{display:flex}.permission-intro{padding:20px;align-items:flex-start}.permission-intro>span{width:49px;height:49px}.permission-intro h2{font-size:16px}.permission-intro button{width:42px;padding:0;font-size:0}.permission-intro button:before{content:"+";font-size:20px}.permissions-box{grid-template-columns:1fr}.installer-card{width:calc(100% - 20px);padding:22px}.installer-brand{padding:40px 25px}.installer-brand h1{font-size:28px}.modal-body{padding:18px}.modal>header,.modal>footer{padding-inline:18px}.editor-modal{width:100%;height:100%;max-height:none;border-radius:0}.file-editor{min-height:calc(100vh - 145px)}}

/* Form footers live inside modal forms. */
.modal form>footer{padding:13px 24px;display:flex;justify-content:flex-end;gap:8px;background:#fafcfd;border-top:1px solid var(--line)}
.modal form>footer button{height:40px;padding:0 15px;color:#58707d;background:#fff;border:1px solid var(--line);border-radius:9px;font-size:8px;font-weight:900}
.modal form>footer button.primary{color:#fff;background:var(--blue);border-color:var(--blue)}
@media (max-width:700px){.modal form>footer{padding-inline:18px}}
.system-check-button{display:inline-flex;align-items:center;justify-content:center;padding:11px 18px;color:#fff;background:var(--blue);border-radius:11px;text-decoration:none;font-size:9px;font-weight:800}

/* v1.2 — clear typography, local SVG icons and complete responsive surfaces */
.ui-icon{width:1.25em;height:1.25em;display:inline-block;flex:0 0 auto;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;pointer-events:none}
button .ui-icon,a .ui-icon{width:18px;height:18px}
button>span,a>span{min-width:0}
@keyframes root-spin{to{transform:rotate(360deg)}}
.ui-icon.spin{animation:root-spin 1s linear infinite}
body{font-size:14px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.app-sidebar{width:258px;padding:18px 16px 17px;overflow-y:auto;scrollbar-width:none}
.app-sidebar::-webkit-scrollbar{display:none}
.workspace{width:calc(100% - 258px);margin-right:258px}
.brand-button{min-height:126px;padding:7px 4px 15px;align-items:center;justify-content:center;overflow:hidden}
.brand-button img{width:210px;max-width:100%;max-height:96px;object-fit:contain;object-position:center}
.app-sidebar nav{margin-top:17px;gap:7px}
.app-sidebar nav button,.sidebar-toggle,.quick-upload{min-height:47px;padding-inline:14px;gap:13px;font-size:13px;line-height:1.4}
.app-sidebar nav button>b{width:22px;height:22px;display:grid;place-items:center;font-size:inherit}
.app-sidebar nav button>b .ui-icon{width:21px;height:21px}
.sidebar-toggle b,.quick-upload b{width:22px;height:22px;display:grid;place-items:center;font-size:inherit}
.sidebar-toggle .ui-icon,.quick-upload .ui-icon{width:20px;height:20px}
.profile-card{min-height:66px;padding-top:13px}
.profile-card>span{width:40px;height:40px;flex-basis:40px;font-size:16px}
.profile-card b{font-size:12px}.profile-card small{font-size:10px}
.topbar{height:92px;padding:0 38px}
.topbar h1{font-size:25px;line-height:1.35}.topbar p{font-size:12px;line-height:1.6}
.top-actions{gap:9px}
.top-actions button{height:44px;padding:0 15px;gap:8px;border-radius:11px;font-size:12px}
.top-actions .logout-action{color:#b54444;background:#fff7f7;border-color:#efdddd}
.top-actions .logout-action:hover{color:#9d3030;background:#fff0f0}
.view-root,.loading-view{padding:30px 36px 44px}
.loading-view{min-height:calc(100vh - 92px)}.loading-view p{font-size:12px}
.hero-panel{min-height:330px;padding:40px 46px;border-radius:22px}
.hero-copy>span{gap:7px;align-items:center;padding:7px 12px;font-size:11px}.hero-copy>span .ui-icon{width:16px;height:16px}
.hero-copy h2{margin:16px 0 9px;font-size:39px;line-height:1.42}.hero-copy p{font-size:13px;line-height:1.8}
.hero-actions{margin-top:23px;gap:10px}.hero-actions button{height:46px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:12px}
.hero-art article{padding:17px;gap:14px;border-radius:15px}.hero-art article>b{width:48px;height:48px;font-size:inherit}.hero-art article>b .ui-icon{width:25px;height:25px}
.hero-art strong{font-size:12px}.hero-art small{font-size:10px}
.stats-grid{margin-top:16px;gap:14px}.stat-card{min-height:112px;padding:20px;gap:15px;border-radius:16px}
.stat-card>span{width:50px;height:50px}.stat-card>span .ui-icon{width:24px;height:24px}
.stat-card small{font-size:11px}.stat-card strong{font-size:28px}
.section-heading{margin:32px 0 14px}.section-heading h2{font-size:23px}.section-heading p{font-size:11px;line-height:1.7}
.section-heading button{min-height:38px;padding:0 10px;display:inline-flex;align-items:center;gap:7px;font-size:12px}
.site-grid{gap:15px}.site-card{min-height:210px;padding:20px;border-radius:17px}
.site-card h3{font-size:15px}.site-card small{font-size:10px}.status{padding:5px 9px;font-size:10px}
.site-url{margin-top:15px;padding:10px 11px;font-size:10px}.site-meta{font-size:10px}.site-actions{padding-top:15px;gap:7px}
.site-actions button,.site-actions a{height:38px;padding:0 12px;gap:7px;font-size:11px}.site-actions button:not(.open-files){width:38px;padding:0}
.empty-state>b{width:62px;height:62px;display:grid;place-items:center;color:var(--blue);background:#eaf4fa;border-radius:17px;font-size:inherit}.empty-state>b .ui-icon{width:31px;height:31px}
.empty-state h3{font-size:17px}.empty-state p{font-size:12px}.empty-state button{height:42px;padding:0 16px;display:inline-flex;align-items:center;gap:8px;font-size:12px}
.client-summary{min-height:102px;padding:18px 24px}.client-summary>span .ui-icon{width:23px;height:23px}.client-summary small{font-size:11px}.client-summary strong{font-size:26px}
.client-row{min-height:70px;grid-template-columns:minmax(205px,1.6fr) .9fr 1.35fr 90px 110px;gap:15px;font-size:11px}.client-row.head{min-height:43px;font-size:10px}
.client-cell b{font-size:12px}.client-cell small{font-size:9px}.client-row>a{font-size:10px}.client-actions{gap:6px}.client-actions button{width:34px;height:34px}.client-actions .ui-icon{width:17px;height:17px}
.project-bar{min-height:82px;padding:13px 16px}.project-bar select{height:43px;font-size:12px}.project-bar a{max-width:390px;padding:9px 11px;display:flex;align-items:center;gap:7px;font-size:10px}
.file-manager{min-height:650px;grid-template-columns:230px minmax(0,1fr);border-radius:17px}
.file-tree{padding:18px}.file-tree-title{display:flex;align-items:center;gap:10px}.file-tree-title>.ui-icon{width:28px;height:28px;color:var(--blue)}
.file-tree h3{font-size:14px}.file-tree>small,.file-tree-title small{font-size:10px}.file-tree nav{margin-top:19px;gap:6px}
.file-tree nav button{min-height:43px;padding:0 11px;font-size:11px}.file-tree>button{height:43px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px}
.files-toolbar{min-height:75px;padding:12px 16px}.files-toolbar h3{font-size:14px}.files-toolbar p{font-size:10px}.files-toolbar button{height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:11px}
.file-row{min-height:58px;padding:0 16px;grid-template-columns:minmax(240px,2fr) 90px 90px 120px 86px;font-size:10px}.file-row.head{min-height:41px;font-size:9px}
.file-name>b:first-child{width:35px;height:35px}.file-name>b .ui-icon{width:19px;height:19px}.file-name strong{font-size:11px}.file-name small{font-size:9px}
.file-row-actions button,.file-row-actions a{width:34px;height:34px}.file-row-actions .ui-icon{width:17px;height:17px}.files-empty{font-size:12px}.files-empty b .ui-icon{width:38px;height:38px}
.permission-intro{min-height:150px;padding:27px 30px}.permission-intro>span .ui-icon{width:31px;height:31px}.permission-intro h2{font-size:23px}.permission-intro p{font-size:12px}
.permission-intro button{height:44px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px}
.user-card{padding:20px}.user-head b{font-size:13px}.user-head small{font-size:10px}.role-badge{font-size:9px}.user-stats small{font-size:9px}.user-stats b{font-size:14px}
.permissions-preview span{padding:5px 8px;font-size:9px}.user-actions button{height:38px;font-size:10px}
.audit-row{min-height:60px;grid-template-columns:180px 1fr 1fr 155px;font-size:11px}.audit-row.head{font-size:10px}
.security-card{min-height:195px;padding:23px}.security-card>span{width:49px;height:49px}.security-card>span .ui-icon{width:25px;height:25px}.security-card h3{font-size:14px}.security-card p{font-size:11px;line-height:1.9}.security-card em{gap:5px;align-items:center;font-size:10px}.security-card em .ui-icon{width:13px;height:13px}
.settings-card{max-width:720px;padding:28px}.settings-card h2{font-size:22px}.settings-card>p{font-size:11px}.settings-card label{font-size:11px}.settings-card input{height:47px;font-size:14px}.settings-card button{height:45px;font-size:12px}
.modal>header h2{font-size:21px}.modal>header p{font-size:11px}.modal-close{display:grid;place-items:center;font-size:inherit}.modal-close .ui-icon{width:19px;height:19px}
.form-grid label,.permission-form>label{font-size:11px}.form-grid input,.form-grid select,.permission-form input,.permission-form select{height:47px;font-size:14px}
.drop-zone b{width:58px;height:58px;display:grid;place-items:center;margin-bottom:7px;color:#fff;background:var(--blue);border-radius:15px}.drop-zone b .ui-icon{width:29px;height:29px}.drop-zone h3{font-size:14px}.drop-zone p{font-size:10px}
.permissions-box label,.visibility-toggle{font-size:10px}.modal>footer button,.modal form>footer button{height:43px;font-size:11px}.toast{padding:14px 17px;font-size:11px}
.login-card>small{font-size:12px}.login-card h2{font-size:31px}.login-card>p{font-size:13px}.login-card label{font-size:12px}.login-card input{height:52px;font-size:15px}.login-card>button{height:52px;font-size:14px}.login-card footer{font-size:11px}.form-message{font-size:12px}

@media (min-width:861px) and (max-width:1180px){
  .app-sidebar,.app-shell.collapsed .app-sidebar{width:92px;padding-inline:12px}
  .workspace,.app-shell.collapsed .workspace{width:calc(100% - 92px);margin-right:92px}
  .brand-button{min-height:88px}
  .topbar{padding-inline:27px}.view-root{padding-inline:25px}
  .app-sidebar nav button>b .ui-icon{width:23px;height:23px}
  .file-manager{grid-template-columns:205px minmax(0,1fr)}
}

@media (max-width:860px){
  .app-shell{padding-bottom:calc(82px + env(safe-area-inset-bottom))}
  .app-sidebar,.app-shell.collapsed .app-sidebar{width:100vw;height:calc(74px + env(safe-area-inset-bottom));min-height:0;padding:7px 7px env(safe-area-inset-bottom);position:fixed;inset:auto 0 0;display:block;overflow:hidden;border-top:1px solid #ffffff18;box-shadow:0 -10px 30px #05253b2e}
  .brand-button,.sidebar-footer{display:none}
  .app-sidebar nav{width:100%;height:100%;margin:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(76px,1fr);gap:4px;overflow-x:auto;scrollbar-width:none}
  .app-sidebar nav::-webkit-scrollbar{display:none}
  .app-sidebar nav button{min-height:60px;gap:4px;font-size:10px}
  .app-sidebar nav button>b .ui-icon{width:22px;height:22px}
  .app-sidebar nav button.active:before{width:26px;height:3px;inset:-7px auto auto;border-radius:0 0 5px 5px}
  .workspace,.app-shell.collapsed .workspace{width:100%;max-width:100vw;margin:0}
  .topbar{height:82px;padding:0 18px}.topbar h1{font-size:21px}.top-actions button{width:44px;height:44px;padding:0}.top-actions button .ui-icon{width:20px;height:20px}
  .view-root,.loading-view{padding:18px 16px 34px}
  .hero-panel{min-height:300px;padding:30px;grid-template-columns:1fr}.hero-copy h2{font-size:32px}.hero-copy p{font-size:12px}
  .stat-card{min-height:104px}.stat-card small{font-size:10px}.stat-card strong{font-size:24px}
  .site-card{min-height:205px}.site-card h3{font-size:14px}
  .file-manager{grid-template-columns:1fr;min-height:0}.file-tree{padding:15px}.file-tree nav button{font-size:11px}
  .files-toolbar{padding:13px 14px}.file-row{font-size:10px}
  .security-card p{font-size:10px}
  .modal{width:min(760px,calc(100vw - 20px));max-height:calc(100dvh - 20px)}
}

@media (max-width:700px){
  .topbar{height:78px;padding-inline:13px}.topbar h1{max-width:155px;font-size:19px}
  .top-actions{gap:6px}.top-actions button{width:42px;height:42px;border-radius:10px}
  .view-root{padding:14px 11px 30px}
  .hero-panel{min-height:325px;padding:27px 21px;border-radius:18px}.hero-copy>span{font-size:10px}.hero-copy h2{font-size:28px;line-height:1.5}.hero-copy p{font-size:12px}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:8px}.hero-actions button{width:100%;height:44px;font-size:12px}
  .stats-grid{grid-template-columns:1fr 1fr;gap:9px}.stat-card{min-height:96px;padding:13px;gap:10px}.stat-card>span{width:42px;height:42px}.stat-card>span .ui-icon{width:21px;height:21px}.stat-card small{font-size:10px}.stat-card strong{font-size:23px}
  .section-heading{margin:25px 0 12px;align-items:center;gap:10px}.section-heading h2{font-size:20px}.section-heading p{font-size:10px}.section-heading button{padding:0;font-size:11px}
  .site-card{min-height:205px;padding:18px}.site-url{font-size:10px}.site-meta{font-size:10px}.site-actions button,.site-actions a{height:40px;font-size:11px}
  .client-summary{min-height:98px;padding:15px}.client-summary small{font-size:10px}.client-summary strong{font-size:23px}
  .client-row:not(.head){padding:15px;gap:11px}.client-row:not(.head)>span:nth-child(2){font-size:11px}.client-row:not(.head)>span:nth-child(2):before{font-size:9px}.client-row:not(.head)>a{padding:10px;font-size:10px}.client-cell b{font-size:13px}.client-cell small{font-size:10px}.client-actions button{height:40px}
  .project-bar{padding:12px;gap:8px}.project-bar select{font-size:12px}.project-bar a{padding:10px;font-size:10px}
  .file-tree-title{margin-bottom:10px}.file-tree nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;overflow:visible;padding-bottom:3px}.file-tree nav button{width:100%;min-width:0;min-height:42px;padding-inline:11px}
  .file-tree>button{height:44px;font-size:11px}.files-toolbar h3{font-size:14px}.files-toolbar p{font-size:10px}.files-toolbar button{height:43px;font-size:11px}
  .file-row:not(.head){min-height:76px;padding:11px}.file-name strong{font-size:12px}.file-name small{font-size:9px}.file-row-actions button,.file-row-actions a{width:38px;height:38px}
  .permission-intro{min-height:145px;padding:21px;display:grid;grid-template-columns:52px minmax(0,1fr);gap:13px}.permission-intro>span{width:52px;height:52px}.permission-intro h2{font-size:18px}.permission-intro p{font-size:10px}.permission-intro button{width:100%;grid-column:1/-1;margin:0;font-size:11px}.permission-intro button:before{content:none}
  .user-head b{font-size:13px}.user-head small{font-size:10px}.user-actions{grid-template-columns:1fr}.user-actions button{height:42px;font-size:11px}
  .security-grid{grid-template-columns:1fr}.security-card{min-height:0;padding:20px}.security-card h3{font-size:14px}.security-card p{font-size:11px}
  .audit-table{display:grid;gap:9px;overflow:visible;background:transparent;border:0}.audit-row.head{display:none}.audit-row:not(.head){min-width:0;min-height:0;padding:15px;display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;background:#fff;border:1px solid var(--line);border-radius:13px;font-size:11px}.audit-row:not(.head) b{grid-column:1/-1;font-size:12px}.audit-row:not(.head) time{text-align:left;font-size:10px}
  .settings-card{padding:20px}.settings-card h2{font-size:20px}.settings-card>p{font-size:10px}.settings-card label{font-size:11px}.settings-card input{height:50px;font-size:16px}.settings-card button{height:48px;font-size:12px}
  .modal-backdrop{padding:0;place-items:stretch}.modal,.editor-modal{width:100%;height:100dvh;max-height:100dvh;border-radius:0;display:flex;flex-direction:column}.modal>header{position:sticky;z-index:2;top:0;padding:17px 18px;background:#fff}.modal>header h2{font-size:18px}.modal>header p{font-size:10px}.modal form,.modal>.modal-body{min-height:0}.modal form{display:flex;flex:1;flex-direction:column}.modal-body{padding:18px;overflow:auto}.modal form>.modal-body{flex:1}.modal>footer,.modal form>footer{position:sticky;z-index:2;bottom:0;padding:12px 18px;background:#fff}.modal>footer button,.modal form>footer button{min-width:0;flex:1;height:46px;font-size:12px}.form-grid label,.permission-form>label{font-size:12px}.form-grid input,.form-grid select,.permission-form input,.permission-form select{height:50px;font-size:16px}.permissions-box label,.visibility-toggle{min-height:44px;font-size:11px}.drop-zone{min-height:175px}.drop-zone h3{font-size:13px}.drop-zone p{font-size:10px}.file-editor{min-height:0;height:100%;flex:1;font-size:13px}.editor-modal>.modal-body{flex:1;display:flex;overflow:hidden}
  .toast{left:10px;right:10px;bottom:calc(85px + env(safe-area-inset-bottom));max-width:none;font-size:11px}
  .login-card-wrap{padding:18px}.login-card{padding:24px 18px}.login-card h2{font-size:28px}.login-card>p{font-size:12px}.login-card label{font-size:12px}.login-card input{height:54px;font-size:16px}.login-card>button{height:54px;font-size:14px}.login-card footer{font-size:10px}
}

/* v1.5.3 — one-click repair for Hostinger public client routes */
.repair-route{color:#0d699e!important;background:#edf7fc!important;border-color:#cfe7f2!important}
.repair-route:hover{background:#e1f2fa!important;border-color:#b9dce9!important}
.repair-route[aria-busy="true"]{cursor:wait;opacity:.78}
.site-actions .repair-route>span,.client-actions .repair-route>span{display:none}
.project-bar .repair-route{min-height:40px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #cfe7f2;border-radius:9px;font-size:10px;font-weight:900;white-space:nowrap}
.project-bar .repair-route .ui-icon{width:17px;height:17px}
@media (max-width:860px){
  .project-bar{grid-template-columns:minmax(0,1fr) auto auto}
  .project-bar a{grid-column:1/-1}
}
@media (max-width:700px){
  .client-row:not(.head)>.client-actions{grid-template-columns:repeat(4,minmax(0,1fr))}
  .project-bar{grid-template-columns:minmax(0,1fr) auto}
  .project-bar .repair-route{grid-column:1/-1;width:100%}
}

@media (max-width:420px){
  .app-sidebar nav{grid-auto-columns:minmax(70px,1fr)}
  .topbar h1{max-width:125px;font-size:17px}
  .top-actions button{width:40px;height:40px}
  .stats-grid{grid-template-columns:1fr}.stat-card{min-height:82px}
  .client-summary{grid-template-columns:40px minmax(0,1fr);gap:8px}.client-summary>i,.client-summary>i+div{display:none}
  .section-heading{align-items:flex-start;flex-direction:column}.section-heading button{min-height:34px}
  .files-toolbar>div:last-child{display:grid;grid-template-columns:1fr;width:100%}
}

/* v1.3 — five-item mobile footer and accessible More sheet */
.app-sidebar nav .mobile-more-button{display:none}
.mobile-more-menu[hidden]{display:none!important}
.mobile-more-menu{display:none}
@media (min-width:861px){.mobile-more-menu{display:none!important}}
@media (max-width:860px){
  body.mobile-more-open{overflow:hidden}
  .app-shell{padding-bottom:calc(86px + env(safe-area-inset-bottom))}
  .app-sidebar,.app-shell.collapsed .app-sidebar{height:calc(78px + env(safe-area-inset-bottom));padding:7px 8px env(safe-area-inset-bottom);background:linear-gradient(180deg,#083858,#062e4c)}
  .app-sidebar nav{display:flex;grid-auto-flow:unset;grid-auto-columns:unset;overflow:visible;gap:5px}
  .app-sidebar nav>button{min-width:0;min-height:63px;flex:1 1 0;padding:5px 2px;border-radius:12px;font-size:10px}
  .app-sidebar nav>.mobile-secondary{display:none}
  .app-sidebar nav>.mobile-more-button{display:flex}
  .app-sidebar nav>button.active,.app-sidebar nav>.mobile-more-button.menu-open{color:#fff;background:#0f669d;box-shadow:inset 0 0 0 1px #ffffff0a}
  .app-sidebar nav>button.active:before,.app-sidebar nav>.mobile-more-button.menu-open:before{width:28px;height:3px;inset:-7px auto auto;background:var(--orange);border-radius:0 0 6px 6px}
  .app-sidebar nav>button.active>b,.app-sidebar nav>.mobile-more-button.menu-open>b{color:#ffae42}
  .mobile-more-menu{position:fixed;z-index:80;inset:0;display:block}
  .mobile-more-backdrop{position:absolute;inset:0;width:100%;height:100%;padding:0;background:#052a43a8;border:0;backdrop-filter:blur(4px)}
  .mobile-more-panel{width:min(600px,calc(100% - 16px));max-height:min(62dvh,520px);padding:9px 16px calc(18px + env(safe-area-inset-bottom));position:absolute;right:50%;bottom:calc(78px + env(safe-area-inset-bottom));overflow:auto;transform:translateX(50%);background:#fff;border:1px solid #dce6eb;border-radius:24px 24px 18px 18px;box-shadow:0 -20px 55px #001e3260}
  .mobile-sheet-handle{width:42px;height:5px;margin:0 auto 8px;display:block;background:#d9e2e7;border-radius:10px}
  .mobile-more-panel>header{min-height:62px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf1f3}
  .mobile-more-panel>header h2{margin:0;font-size:20px}.mobile-more-panel>header p{margin:3px 0 0;color:var(--muted);font-size:10px}
  .mobile-more-panel>header>button{width:38px;height:38px;display:grid;place-items:center;color:#6b7d88;background:#f1f5f7;border:0;border-radius:10px}
  .mobile-more-panel>header>button .ui-icon{width:19px;height:19px}
  .mobile-more-panel>nav{margin-top:13px;display:grid;grid-template-columns:1fr 1fr;gap:9px}
  .mobile-more-panel>nav>button{min-width:0;min-height:86px;padding:13px;display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;gap:2px 10px;align-items:center;text-align:right;color:var(--ink);background:#f8fafb;border:1px solid #e3eaee;border-radius:14px}
  .mobile-more-panel>nav>button>span{width:42px;height:42px;grid-row:1/3;display:grid;place-items:center;color:var(--blue);background:#e7f2f8;border-radius:12px}
  .mobile-more-panel>nav>button:nth-child(2)>span{color:#b87518;background:#fff1de}.mobile-more-panel>nav>button:nth-child(3)>span{color:#16815f;background:#e7f7f0}.mobile-more-panel>nav>button:nth-child(4)>span{color:#5f7280;background:#eaf0f3}
  .mobile-more-panel>nav>button>span .ui-icon{width:21px;height:21px}
  .mobile-more-panel>nav>button>b{align-self:end;font-size:12px}.mobile-more-panel>nav>button>small{align-self:start;overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}
  .mobile-more-panel>nav>button:active{transform:scale(.98);background:#f1f6f8}
}
@media (max-width:430px){
  .app-sidebar nav>button{font-size:9px}
  .mobile-more-panel{width:100%;max-height:66dvh;right:0;bottom:calc(78px + env(safe-area-inset-bottom));transform:none;border-radius:24px 24px 0 0}
  .mobile-more-panel>nav>button{min-height:82px;padding:11px;grid-template-columns:38px minmax(0,1fr);gap-inline:8px}.mobile-more-panel>nav>button>span{width:38px;height:38px}.mobile-more-panel>nav>button>b{font-size:11px}.mobile-more-panel>nav>button>small{font-size:8px}
}

/* v1.4 — stable mobile pages and forms without overlapping controls */
body.modal-open{overflow:hidden}
.modal button[aria-busy="true"]{cursor:wait;opacity:.78}
@media (max-width:860px){
  .modal,.modal form,.modal-body,.form-grid,.permission-form,.settings-card,.settings-card form{min-width:0}
  .modal{display:flex;flex-direction:column;overflow:hidden}
  .modal>header{flex:0 0 auto}
  .modal form{min-height:0;flex:1 1 auto;overflow:hidden}
  .modal-body{min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
  .modal form>.modal-body,.modal>.modal-body{flex:1 1 auto}
  .form-grid label,.permission-form>label,.form-grid input,.form-grid select,.permission-form input,.permission-form select{min-width:0}
  .settings-card{width:100%;max-width:none}
}
@media (max-width:700px){
  .modal-backdrop{overflow:hidden}
  .modal,.editor-modal{overflow:hidden}
  .modal>header{position:static;min-height:0;flex:0 0 auto;padding-top:calc(17px + env(safe-area-inset-top))}
  .modal>header>div{min-width:0;padding-left:8px}.modal>header h2,.modal>header p{overflow-wrap:anywhere}
  .modal form{display:flex;min-height:0;flex:1 1 auto;flex-direction:column;overflow:hidden}
  .modal-body{padding:18px 16px 24px}
  .modal>footer,.modal form>footer{position:static;flex:0 0 auto;padding:12px 16px calc(12px + env(safe-area-inset-bottom));box-shadow:0 -8px 24px #0a385111}
  .modal>footer button,.modal form>footer button{min-height:48px;white-space:normal}
  .form-grid{width:100%;grid-template-columns:minmax(0,1fr)}
  .form-grid input,.form-grid select,.permission-form input,.permission-form select{max-width:100%}
  .drop-zone{width:100%;min-height:165px;padding:18px 14px}
  .permissions-box{grid-template-columns:minmax(0,1fr)}
  .settings-card form{width:100%}
  .settings-card input{width:100%;min-width:0}
  .project-bar>*{min-width:0}.files-toolbar>div,.files-toolbar>div:last-child{min-width:0}
}
@media (max-width:420px){
  .modal>footer,.modal form>footer{gap:7px}
  .modal>footer button,.modal form>footer button{padding-inline:8px;font-size:11px}
  .permission-form .modal-body{padding-inline:13px}
}

/* v1.5 — safe file deletion controls */
.file-row-actions .danger{color:var(--red);background:#fff7f7;border-color:#f3d7d7}
.file-row-actions .danger:hover{background:#ffeded;border-color:#eebbbb}
.modal>footer button.danger{display:inline-flex;align-items:center;justify-content:center;gap:7px;margin-left:auto;color:var(--red);background:#fff7f7;border-color:#f3d7d7}
.modal>footer button.danger .ui-icon{width:17px;height:17px}
@media (min-width:1181px){.file-row{grid-template-columns:minmax(240px,2fr) 90px 90px 120px 122px}}
@media (min-width:701px) and (max-width:1180px){.file-row{grid-template-columns:minmax(190px,2fr) 60px 65px 75px 122px}}
@media (max-width:700px){.file-row-actions{flex-wrap:nowrap}.modal>footer button.danger{margin-left:0}}

/* v1.5.2 — multi-select, protected bulk deletion and mobile confirmation */
.file-select{width:21px;height:21px;flex:0 0 21px;position:relative;display:grid;place-items:center;cursor:pointer}
.file-select input{width:18px;height:18px;margin:0;accent-color:var(--blue);cursor:pointer}
.file-row.selected{background:#f0f8fc;box-shadow:inset -3px 0 var(--blue)}
.file-row.head .file-name{gap:10px}.file-row.head .file-select{margin-inline-end:2px}
.files-toolbar>div:last-child{flex-wrap:wrap;justify-content:flex-end}
.files-toolbar .bulk-delete-button{display:inline-flex;align-items:center;gap:7px;color:var(--red);background:#fff5f5;border-color:#efcdcd}
.files-toolbar .bulk-delete-button:hover{background:#ffecec;border-color:#eab6b6}
.files-toolbar .bulk-delete-button .ui-icon{width:17px;height:17px}
.delete-warning{padding:15px;display:flex;align-items:flex-start;gap:12px;color:#8c3c35;background:#fff5f3;border:1px solid #f0d2ce;border-radius:12px}
.delete-warning>.ui-icon{width:25px;height:25px;flex:0 0 25px;color:var(--red)}
.delete-warning strong{display:block;font-size:13px}.delete-warning p{margin:4px 0 0;color:#926b67;font-size:10px;line-height:1.8}
.delete-mode{margin:18px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;border:0}
.delete-mode legend{width:100%;margin-bottom:9px;color:var(--ink);font-size:11px;font-weight:900}
.delete-mode label{min-width:0;position:relative;cursor:pointer}
.delete-mode label>input{position:absolute;opacity:0;pointer-events:none}
.delete-mode label>span{min-height:115px;padding:15px;display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto;gap:4px 11px;align-items:center;color:#58707d;background:#f8fafb;border:1.5px solid var(--line);border-radius:12px;transition:.15s ease}
.delete-mode label>span>.ui-icon{width:38px;height:38px;padding:9px;grid-row:1/3;color:var(--blue);background:#e8f3f9;border-radius:10px}
.delete-mode label b{align-self:end;color:var(--ink);font-size:12px}.delete-mode label small{align-self:start;color:var(--muted);font-size:9px;line-height:1.7}
.delete-mode input:checked+span{background:#eef7fb;border-color:var(--blue);box-shadow:0 0 0 3px #0e568e0c}
.delete-mode .danger-choice>span>.ui-icon{color:var(--red);background:#fff0f0}.delete-mode .danger-choice input:checked+span{background:#fff3f3;border-color:var(--red);box-shadow:0 0 0 3px #c845450c}
.delete-mode label.disabled{cursor:not-allowed;opacity:.55}.backup-note{margin:14px 0 0;display:flex;align-items:center;gap:7px;color:#467263;font-size:9px}.backup-note .ui-icon{width:17px;height:17px;color:var(--green)}
.modal>footer button.danger.confirm-delete,.modal form>footer button.danger.confirm-delete{color:#fff;background:var(--red);border-color:var(--red)}
@media (max-width:860px){.files-toolbar{align-items:flex-start;gap:10px}.files-toolbar>div:last-child{max-width:70%}.delete-mode{grid-template-columns:1fr}}
@media (max-width:700px){
  .files-toolbar{display:grid;grid-template-columns:1fr}.files-toolbar>div:last-child{width:100%;max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:7px}.files-toolbar>div:last-child>button{width:100%;padding-inline:8px;white-space:normal}
  .files-toolbar>div:last-child>button:only-child,.files-toolbar>div:last-child>.bulk-delete-button:last-child:nth-child(odd),.files-toolbar>div:last-child>.upload-package:last-child:nth-child(odd){grid-column:1/-1}
  .file-row:not(.head){grid-template-columns:minmax(0,1fr) auto}.file-name{gap:8px}.file-select{width:24px;height:24px;flex-basis:24px}.file-select input{width:20px;height:20px}
  .delete-warning{padding:14px}.delete-warning strong{font-size:13px}.delete-warning p{font-size:10px}.delete-mode label>span{min-height:105px;padding:13px}.delete-mode label b{font-size:12px}.delete-mode label small{font-size:10px}.backup-note{font-size:10px;line-height:1.8}
}

/* v1.5.5 — detailed, persistent package validation report */
.package-error-report{display:grid;gap:16px}.package-error-title{padding:16px;display:flex;align-items:flex-start;gap:12px;color:#8f2d2d;background:#fff4f3;border:1px solid #f3c8c4;border-radius:13px}.package-error-title>svg{width:25px;height:25px;flex:0 0 auto;color:#d54b40}.package-error-title div{display:grid;gap:5px}.package-error-title strong{font-size:14px;line-height:1.75}.package-error-title small{color:#9d615d;font-size:10px;direction:ltr;text-align:right}.package-error-report dl{margin:0;display:grid;border:1px solid var(--line);border-radius:13px;overflow:hidden}.package-error-report dl>div{min-height:54px;padding:11px 14px;display:grid;grid-template-columns:140px minmax(0,1fr);gap:14px;align-items:start;background:#fff}.package-error-report dl>div+div{border-top:1px solid var(--line)}.package-error-report dt{color:#6c7f8b;font-size:10px;font-weight:900}.package-error-report dd{margin:0;color:var(--ink);font-size:11px;font-weight:750;line-height:1.75;overflow-wrap:anywhere}.package-safe-note{padding:13px 15px;display:flex;align-items:center;gap:10px;color:#176d55;background:#edfaf5;border:1px solid #bfe8d8;border-radius:12px;font-size:10px;font-weight:800}.package-safe-note svg{width:21px;height:21px;flex:0 0 auto}
@media (max-width:620px){.package-error-report dl>div{grid-template-columns:1fr;gap:4px}.package-error-title strong{font-size:13px}.package-error-title small,.package-error-report dt,.package-safe-note{font-size:10px}.package-error-report dd{font-size:11px}}

/* v1.5.6 — overflow-safe client grids and instant platform search */
.app-shell,.workspace,.view-root,.view-root>section,.site-grid,.site-card,.site-card-head,.site-card-head>div,.site-actions,.clients-panel{min-width:0}
.workspace{width:calc(100% - 258px);max-width:calc(100vw - 258px);overflow-x:hidden;overflow-x:clip}
.app-shell.collapsed .workspace{width:calc(100% - 82px);max-width:calc(100vw - 82px)}
.view-root{width:100%;max-width:100%;overflow-x:hidden;overflow-x:clip}
.site-grid{width:100%;max-width:100%;grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr));align-items:stretch}
.site-card{width:100%;max-width:100%;overflow:hidden}
.site-card-head .client-avatar,.site-card-head .status{flex:0 0 auto}
.site-card h3,.site-card small,.site-url{max-width:100%;overflow-wrap:anywhere}
.site-actions{display:flex;align-items:center;min-width:0}
.site-actions .open-files{min-width:0;flex:1 1 auto;overflow:hidden}
.site-actions .open-files span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.site-actions>button:not(.open-files),.site-actions>a:not(.open-files){width:38px;min-width:38px;flex:0 0 38px;padding-inline:0}
.client-search-bar{width:100%;max-width:100%;margin:0 0 15px;padding:12px 14px;display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 10px 28px #0a385108}
.client-search-field{height:46px;min-width:0;padding:0 13px;display:flex;align-items:center;gap:9px;background:#f6fafc;border:1px solid #d7e6ee;border-radius:11px;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
.client-search-field:focus-within{background:#fff;border-color:var(--blue);box-shadow:0 0 0 3px #0e568e12}
.client-search-field>.ui-icon{width:19px;height:19px;flex:0 0 19px;color:var(--blue)}
.client-search-field input{width:100%;min-width:0;height:100%;padding:0;color:var(--ink);background:transparent;border:0;outline:0;font-family:inherit;font-size:12px;font-weight:750}
.client-search-field input::placeholder{color:#92a2ab;font-weight:650}
.client-search-field input::-webkit-search-cancel-button{display:none}
.client-search-field button{width:32px;height:32px;min-width:32px;padding:0;display:grid;place-items:center;color:#708792;background:#fff;border:1px solid var(--line);border-radius:9px}
.client-search-field button .ui-icon{width:15px;height:15px}
.client-search-summary{min-width:max-content;display:flex;align-items:baseline;gap:5px;color:var(--muted);font-size:10px;font-weight:800}
.client-search-summary strong{color:var(--ink);font-size:19px;line-height:1}
.client-search-empty{min-height:260px;padding:34px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#fff;border:1px dashed #bfd1da;border-radius:18px}
.client-search-empty>.ui-icon{width:42px;height:42px;padding:10px;color:var(--blue);background:#eaf5fa;border-radius:13px}
.client-search-empty h3{margin:13px 0 4px;color:var(--ink);font-size:17px}.client-search-empty p{margin:0;color:var(--muted);font-size:10px}.client-search-empty button{margin-top:14px;color:#fff;background:var(--blue);border:0}
@media (min-width:861px) and (max-width:1180px){
  .workspace,.app-shell.collapsed .workspace{width:calc(100% - 92px);max-width:calc(100vw - 92px)}
  .site-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr))}
}
@media (max-width:860px){
  .workspace,.app-shell.collapsed .workspace{width:100%;max-width:100vw}
  .site-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr))}
}
@media (max-width:700px){
  .client-search-bar{padding:11px;grid-template-columns:minmax(0,1fr);gap:9px}
  .client-search-summary{min-width:0;justify-content:flex-start;padding-inline:3px}
  .site-grid{grid-template-columns:minmax(0,1fr)}
  .site-actions>button:not(.open-files),.site-actions>a:not(.open-files){width:40px;min-width:40px;flex-basis:40px}
  .client-search-empty{min-height:230px}
}
@media (max-width:420px){
  .client-search-field{padding-inline:10px}.client-search-field input{font-size:11px}
  .site-actions>button:not(.open-files),.site-actions>a:not(.open-files){width:38px;min-width:38px;flex-basis:38px}
}

/* v1.5.7 — measurable uploads and safe merge-or-replace publishing */
.upload-review,.upload-progress-report{display:grid;gap:15px}
.upload-file-summary{min-width:0;padding:15px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;background:#f7fafc;border:1px solid var(--line);border-radius:14px}
.upload-file-summary>span{width:48px;height:48px;display:grid;place-items:center;color:var(--blue);background:#e7f3f9;border-radius:12px}.upload-file-summary>span .ui-icon{width:24px;height:24px}
.upload-file-summary>div{min-width:0;display:grid;gap:2px}.upload-file-summary small{color:var(--muted);font-size:9px;font-weight:800}.upload-file-summary strong{overflow:hidden;color:var(--ink);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.upload-file-summary p{margin:0;color:#617987;font-size:10px;font-weight:800}
.upload-file-summary>em{padding:7px 10px;color:#147657;background:#e7f7f0;border-radius:999px;font-size:9px;font-style:normal;font-weight:900;white-space:nowrap}
.upload-file-summary.rejected{background:#fff7f6;border-color:#efceca}.upload-file-summary.rejected>span{color:var(--red);background:#ffebea}.upload-file-summary.rejected>em{color:#a13c34;background:#ffe5e2}
.upload-capacity{display:grid;grid-template-columns:1fr 1fr;gap:10px}.upload-capacity>div{min-width:0;padding:13px 14px;display:grid;gap:5px;background:#fff;border:1px solid var(--line);border-radius:12px}.upload-capacity small{color:var(--muted);font-size:9px;font-weight:800}.upload-capacity strong{color:var(--ink);font-size:11px;line-height:1.75;overflow-wrap:anywhere}.upload-capacity strong.ok{color:#177657}.upload-capacity strong.bad{color:var(--red)}
.upload-review-warning{padding:11px 13px;color:#9b423a;background:#fff1ef;border:1px solid #f0cbc6;border-radius:10px;font-size:10px;font-weight:800;line-height:1.8}
.upload-mode{margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;border:0}.upload-mode legend{width:100%;margin-bottom:9px;color:var(--ink);font-size:11px;font-weight:900}.upload-mode label{min-width:0;position:relative;cursor:pointer}.upload-mode label>input{position:absolute;opacity:0;pointer-events:none}.upload-mode label>span{min-height:145px;padding:14px;display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto auto;gap:3px 11px;align-items:center;color:#5e7480;background:#f8fafb;border:1.5px solid var(--line);border-radius:13px;transition:.15s ease}.upload-mode label>span>.ui-icon{width:42px;height:42px;padding:10px;grid-row:1/4;color:var(--blue);background:#e6f2f8;border-radius:11px}.upload-mode label b{align-self:end;color:var(--ink);font-size:12px}.upload-mode label small{align-self:start;font-size:9px;line-height:1.8}.upload-mode label em{width:max-content;margin-top:3px;padding:4px 7px;color:#177657;background:#e5f6ee;border-radius:999px;font-size:8px;font-style:normal;font-weight:900}.upload-mode input:checked+span{background:#eef8fc;border-color:var(--blue);box-shadow:0 0 0 3px #0e568e0d}.upload-mode .replace-choice>span>.ui-icon{color:var(--red);background:#ffeded}.upload-mode .replace-choice input:checked+span{background:#fff5f4;border-color:var(--red);box-shadow:0 0 0 3px #c845450d}
.upload-package-form button[type="submit"]{display:inline-flex;align-items:center;justify-content:center;gap:8px}.upload-package-form button[type="submit"] .ui-icon{width:18px;height:18px}.upload-package-form button[type="submit"]:disabled{cursor:not-allowed;opacity:.5}
.upload-progress-header .upload-live{padding:7px 10px;display:flex;align-items:center;gap:7px;color:#167357;background:#e8f8f1;border-radius:999px;font-size:9px;font-weight:900;white-space:nowrap}.upload-live i{width:7px;height:7px;background:#34c493;border-radius:50%;box-shadow:0 0 0 4px #34c49318;animation:upload-pulse 1.4s ease infinite}
.upload-progress-file{min-width:0;display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:11px;align-items:center}.upload-progress-file>.ui-icon{width:44px;height:44px;padding:10px;color:var(--blue);background:#e7f3f9;border-radius:11px}.upload-progress-file>div{min-width:0;display:grid;gap:3px}.upload-progress-file strong{overflow:hidden;color:var(--ink);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.upload-progress-file small{color:var(--muted);font-size:9px}.upload-progress-file>b{color:var(--blue);font-size:24px;direction:ltr}
.upload-progress-track{height:13px;position:relative;overflow:hidden;background:#e8eef2;border:1px solid #dbe4e9;border-radius:999px}.upload-progress-track>i{width:0;height:100%;display:block;background:linear-gradient(90deg,var(--blue),#1a83b9);border-radius:inherit;transition:width .16s linear}.upload-progress-track.processing>i{background:linear-gradient(90deg,var(--blue) 0 35%,#46a9d5 50%,var(--blue) 65% 100%);background-size:220% 100%;animation:upload-processing 1.2s linear infinite}.upload-progress-track.complete>i{background:var(--green)}
.upload-progress-numbers{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:9px}.upload-progress-numbers>span{min-width:0;padding:11px 12px;display:grid;gap:4px;background:#f7fafb;border:1px solid var(--line);border-radius:11px}.upload-progress-numbers small{color:var(--muted);font-size:8px;font-weight:800}.upload-progress-numbers b{overflow:hidden;color:var(--ink);font-size:10px;text-overflow:ellipsis;white-space:nowrap;direction:ltr;text-align:right}
.upload-progress-phase{padding:14px;display:flex;align-items:center;gap:11px;color:#496b7e;background:#eef7fb;border:1px solid #d3e7f1;border-radius:12px}.upload-progress-phase>.ui-icon{width:25px;height:25px;flex:0 0 25px;color:var(--blue)}.upload-progress-phase>div{display:grid;gap:3px}.upload-progress-phase strong{color:var(--ink);font-size:11px}.upload-progress-phase small{font-size:9px;line-height:1.7}.upload-progress-phase.complete{color:#33715e;background:#ecfaf4;border-color:#c8eadc}.upload-progress-phase.complete>.ui-icon{color:var(--green)}
.upload-safety-note{padding:12px 13px;display:flex;align-items:flex-start;gap:9px;color:#477464;background:#f4fbf8;border:1px solid #d5eee4;border-radius:11px;font-size:9px;font-weight:800;line-height:1.8}.upload-safety-note .ui-icon{width:19px;height:19px;flex:0 0 19px;color:var(--green)}
@keyframes upload-processing{to{background-position:-220% 0}}@keyframes upload-pulse{50%{opacity:.55;box-shadow:0 0 0 7px #34c49308}}
@media (max-width:700px){
  .upload-file-summary{grid-template-columns:44px minmax(0,1fr);padding:13px}.upload-file-summary>span{width:44px;height:44px}.upload-file-summary>em{grid-column:1/-1;width:max-content;margin-right:55px}
  .upload-capacity,.upload-mode{grid-template-columns:minmax(0,1fr)}.upload-mode label>span{min-height:120px}.upload-progress-header{align-items:flex-start}.upload-progress-header .upload-live{font-size:8px}
  .upload-progress-numbers{grid-template-columns:1fr 1fr}.upload-progress-numbers>span:first-child{grid-column:1/-1}.upload-progress-file{grid-template-columns:40px minmax(0,1fr) auto}.upload-progress-file>.ui-icon{width:40px;height:40px}.upload-progress-file>b{font-size:20px}
}
@media (max-width:420px){.upload-progress-header .upload-live{padding:6px}.upload-progress-file strong{font-size:11px}.upload-mode label b{font-size:11px}.upload-mode label small{font-size:9px}}

/* v1.6.0 — revocable service access for automated site publishing */
.service-token-heading{margin:34px 0 14px;padding:24px 26px;display:flex;align-items:center;justify-content:space-between;gap:18px;color:#fff;background:linear-gradient(135deg,var(--navy),#0d5b8d);border-radius:18px;box-shadow:0 16px 40px #082f5020}.service-token-heading>div{display:grid;gap:4px}.service-token-heading span{color:#ffbd69;font-size:10px;font-weight:900}.service-token-heading h2{margin:0;font-size:21px}.service-token-heading p{margin:0;color:#c4d7e3;font-size:10px}.service-token-heading>button{min-height:43px;padding:0 15px;display:flex;align-items:center;gap:8px;color:#fff;background:#ffffff13;border:1px solid #ffffff25;border-radius:11px;font-size:11px;font-weight:900}.service-token-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:14px}.service-token-card{min-width:0;padding:19px;display:grid;gap:14px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.service-token-card>div:first-child{min-width:0;display:flex;align-items:center;gap:11px}.service-token-card>div:first-child>span{width:44px;height:44px;display:grid;place-items:center;flex:0 0 44px;color:var(--blue);background:#eaf5fa;border-radius:12px}.service-token-card>div:first-child>span .ui-icon{width:22px;height:22px}.service-token-card section{min-width:0;display:grid;gap:3px}.service-token-card section b{font-size:12px}.service-token-card code{max-width:100%;overflow:hidden;color:#647b88;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.service-token-card dl{margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.service-token-card dl>div{min-width:0;padding:9px;display:grid;gap:3px;background:#f7fafb;border-radius:9px}.service-token-card dt{color:var(--muted);font-size:8px}.service-token-card dd{margin:0;overflow:hidden;font-size:9px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.service-token-card dd.active{color:var(--green)}.service-token-card dd.revoked{color:var(--red)}.service-token-card>button{height:39px;color:#a73c3c;background:#fff6f5;border:1px solid #efd4d1;border-radius:10px;font-size:10px;font-weight:900}.service-token-empty{min-height:130px;padding:22px;display:flex;align-items:center;gap:14px;background:#fff;border:1px dashed #bfd1da;border-radius:16px}.service-token-empty>b{width:50px;height:50px;display:grid;place-items:center;flex:0 0 50px;color:var(--blue);background:#eaf5fa;border-radius:13px}.service-token-empty>b .ui-icon{width:25px;height:25px}.service-token-empty h3{margin:0 0 4px;font-size:14px}.service-token-empty p{margin:0;color:var(--muted);font-size:10px;line-height:1.8}.service-token-warning{padding:13px 14px;display:flex;align-items:flex-start;gap:10px;color:#326d5b;background:#effaf6;border:1px solid #cbe9de;border-radius:11px;font-size:10px;font-weight:800;line-height:1.8}.service-token-warning.strong{color:#934238;background:#fff4f2;border-color:#efcfca}.service-token-warning .ui-icon{width:21px;height:21px;flex:0 0 21px}.form-grid .wide{grid-column:1/-1}.service-token-result{display:grid;gap:16px}.service-token-result>label{display:grid;gap:7px;color:#3c5362;font-size:10px;font-weight:900}.service-token-result textarea{width:100%;min-height:90px;padding:13px;resize:none;color:#17374a;background:#f6fafc;border:1px solid #cfe0e8;border-radius:11px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.8}.service-token-command{padding:13px;display:grid;gap:5px;background:#082f50;border-radius:11px}.service-token-command code{color:#e8f5fb;font-size:11px;overflow-wrap:anywhere}.service-token-command small{color:#9fb8c8;font-size:9px;line-height:1.7}
@media (max-width:700px){.service-token-heading{padding:20px;display:grid}.service-token-heading h2{font-size:18px}.service-token-heading>button{width:100%;justify-content:center}.service-token-grid{grid-template-columns:minmax(0,1fr)}.service-token-card dl{grid-template-columns:1fr}.service-token-card dl>div{grid-template-columns:90px minmax(0,1fr)}.service-token-empty{align-items:flex-start}.service-token-result textarea{font-size:10px}}

/* v1.8.1 — owner-only encrypted client handoff, automatic sync and verified recovery */
.site-actions .client-data-button{width:auto!important;min-width:94px!important;flex:0 0 auto!important;padding:0 11px!important;position:relative;display:flex;align-items:center;justify-content:center;gap:6px;color:#0e568e;background:#eef8fc;border-color:#cce4ef}.site-actions .client-data-button .ui-icon{width:17px;height:17px}.site-actions .client-data-button span{font-size:10px;font-weight:900}.site-actions .client-data-button i{width:7px;height:7px;position:absolute;top:5px;left:5px;background:#f29a29;border:2px solid #fff;border-radius:50%}.site-actions .client-data-button.complete i{background:#1da475}.site-actions .client-data-button:hover{background:#e2f2f9;border-color:#9ecde0}.credential-loading{min-height:220px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--blue);font-size:12px;font-weight:900}.credential-loading .ui-icon{width:23px;height:23px}.client-credentials-body{display:grid;gap:15px}.credential-after-upload{padding:13px 15px;color:#81520d;background:#fff7e8;border:1px solid #f2d9aa;border-radius:11px;font-size:10px;font-weight:850;line-height:1.8}.credential-client-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.credential-client-summary article{min-width:0;padding:11px 12px;display:grid;gap:4px;background:#f7fafc;border:1px solid var(--line);border-radius:10px}.credential-client-summary small{color:var(--muted);font-size:8px;font-weight:800}.credential-client-summary b{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.credential-status{padding:14px;display:flex;align-items:center;gap:11px;color:#80551b;background:#fff8eb;border:1px solid #edd9b8;border-radius:12px}.credential-status.complete,.credential-status.synced{color:#176f55;background:#edf9f4;border-color:#c8e8dc}.credential-status.changed{color:#a24636;background:#fff1ef;border-color:#efc8c1}.credential-status.unverified{color:#225f82;background:#eef7fc;border-color:#cce3ee}.credential-status>.ui-icon{width:24px;height:24px;flex:0 0 24px}.credential-status>div{display:grid;gap:2px}.credential-status b{font-size:12px}.credential-status small{font-size:9px;line-height:1.7}.credential-links{display:grid;grid-template-columns:1fr 1fr;gap:10px}.credential-links article{min-width:0;padding:12px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:center;background:#f7fafc;border:1px solid var(--line);border-radius:11px}.credential-links article>div{min-width:0;display:grid;gap:4px}.credential-links small{color:var(--muted);font-size:8px;font-weight:850}.credential-links a{overflow:hidden;color:var(--blue);font-size:10px;font-weight:800;text-align:right;text-overflow:ellipsis;white-space:nowrap}.credential-links button{height:37px;padding:0 10px;display:flex;align-items:center;gap:5px;color:var(--blue);background:#fff;border:1px solid #d5e5ed;border-radius:9px;font-family:inherit;font-size:9px;font-weight:900}.credential-links button .ui-icon{width:15px;height:15px}.credential-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.credential-form-grid label{min-width:0;display:grid;gap:6px;color:#4c6574;font-size:10px;font-weight:850}.credential-form-grid label.wide{grid-column:1/-1}.credential-form-grid label>small{color:#81919a;font-size:8px;line-height:1.7}.credential-form-grid input{width:100%;min-width:0;height:47px;padding:0 11px;outline:0;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:9px;font-family:inherit;font-size:13px}.credential-form-grid input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #0e568e12}.credential-input-action{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px}.credential-input-action button{width:43px;height:47px;padding:0;display:grid;place-items:center;color:var(--blue);background:#eff7fb;border:1px solid #d3e5ee;border-radius:9px}.credential-input-action button:disabled{opacity:.45;cursor:not-allowed}.credential-input-action button .ui-icon{width:18px;height:18px}.credential-reset-panel{padding:14px;display:grid;gap:11px;background:#fff8eb;border:1px solid #edd9b8;border-radius:12px}.credential-reset-panel>div{display:flex;align-items:flex-start;gap:10px}.credential-reset-panel>div>.ui-icon{width:23px;height:23px;flex:0 0 23px;color:#b4721a}.credential-reset-panel h3{margin:0;color:#71470c;font-size:12px}.credential-reset-panel p{margin:3px 0 0;color:#8a6a3d;font-size:9px;line-height:1.8}.credential-reset-panel.unavailable{background:#f6f8f9;border-color:var(--line)}.credential-reset-panel.unavailable h3{color:#526b7a}.credential-reset-panel.unavailable p{color:var(--muted)}.credential-reset-confirm{display:flex!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center;gap:8px!important;color:#694c25!important}.credential-reset-confirm input{width:18px!important;height:18px!important;accent-color:var(--orange)}.credential-reset-panel>button{min-height:42px;padding:0 14px;display:flex;align-items:center;justify-content:center;gap:7px;color:#fff;background:#b46a0f;border:0;border-radius:9px;font-family:inherit;font-size:10px;font-weight:900}.credential-reset-panel>button:disabled{opacity:.58;cursor:wait}.credential-reset-panel>button .ui-icon{width:17px;height:17px}.credential-security-note{padding:13px 14px;display:flex;align-items:flex-start;gap:9px;color:#3f6a5b;background:#f2faf7;border:1px solid #d3ebe2;border-radius:11px;font-size:9px;font-weight:800;line-height:1.8}.credential-security-note .ui-icon{width:20px;height:20px;flex:0 0 20px;color:var(--green)}
@media (max-width:700px){.site-actions .client-data-button{width:42px!important;min-width:42px!important;flex-basis:42px!important;padding:0!important}.site-actions .client-data-button span{display:none}.credential-client-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.credential-links,.credential-form-grid{grid-template-columns:minmax(0,1fr)}.credential-form-grid label.wide{grid-column:auto}.credential-links article{grid-template-columns:minmax(0,1fr) auto}.client-row:not(.head)>.client-actions{grid-template-columns:repeat(auto-fit,minmax(42px,1fr))}.credential-status{align-items:flex-start}.credential-form-grid input{height:50px;font-size:16px}.credential-input-action button{height:50px}.credential-reset-panel p,.credential-security-note{font-size:10px}}

/* v1.9.0 — generated first-publish passwords and confirmed previous-site initialization */
.section-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.section-heading-actions .initialize-credentials-button{padding:0 13px;color:#87520d;background:#fff7e8;border:1px solid #ecd4a7;border-radius:9px}.section-heading-actions .initialize-credentials-button:hover{background:#ffefd2;border-color:#dcb975}.section-heading-actions .initialize-credentials-button .ui-icon{width:17px;height:17px}.credential-reset-panel.ready{color:#176f55;background:#edf9f4;border-color:#c8e8dc}.credential-reset-panel.ready>div>.ui-icon,.credential-reset-panel.ready h3{color:#176f55}.credential-reset-panel.ready p{color:#43806c}.bulk-credential-warning{border-width:2px}.bulk-credential-warning h3{font-size:13px}.bulk-credential-warning p{font-size:10px}
@media (max-width:700px){.section-heading-actions{width:100%;display:grid;grid-template-columns:1fr auto}.section-heading-actions .initialize-credentials-button{min-height:42px!important;justify-content:center}.section-heading-actions .initialize-credentials-button span{display:inline}.bulk-credential-warning h3{font-size:12px}}
@media (max-width:460px){.section-heading-actions{grid-template-columns:1fr}.section-heading-actions button{width:100%;justify-content:center}}

/* v1.10.1 — one-confirmation permanent site deletion and direct credential display */
.site-actions{display:flex;grid-template-columns:none;flex-wrap:wrap}.site-actions .open-files{min-width:105px;flex:1 1 105px}.site-actions>button:not(.open-files){min-width:34px;flex:0 0 auto}.site-actions .purge-client{color:#fff;background:var(--red);border-color:var(--red)}
.archive-management{margin-top:34px;padding:22px;background:#f9fbfc;border:1px solid var(--line);border-radius:18px}.archive-management-heading{margin-bottom:15px;display:flex;align-items:center;justify-content:space-between;gap:15px}.archive-management-heading>div{min-width:0;display:flex;align-items:center;gap:12px}.archive-management-heading>div>span{width:46px;height:46px;display:grid;place-items:center;flex:0 0 46px;color:#8a4a3f;background:#fff0ed;border-radius:13px}.archive-management-heading h2{margin:0;font-size:17px}.archive-management-heading p{margin:4px 0 0;color:var(--muted);font-size:9px}.archive-management-heading>b{min-width:38px;height:38px;padding:0 10px;display:grid;place-items:center;color:#8a4a3f;background:#fff0ed;border-radius:11px;font-size:15px}.archive-client-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px}.archive-client-card{min-width:0;padding:17px;display:grid;gap:12px;background:#fff;border:1px solid #e5d7d3;border-radius:14px}.archive-client-head{min-width:0;display:flex;align-items:center;gap:10px}.archive-client-head>span{width:40px;height:40px;display:grid;place-items:center;flex:0 0 40px;color:#966052;background:#fff4f1;border-radius:10px}.archive-client-head>div{min-width:0;flex:1}.archive-client-head h3{margin:0;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.archive-client-head small{display:block;margin-top:3px;color:var(--muted);font-size:8px;text-align:right}.archive-client-head em{padding:4px 7px;color:#8a5d53;background:#f7eeeb;border-radius:8px;font-size:7px;font-style:normal;font-weight:900}.archive-client-meta{display:flex;flex-wrap:wrap;gap:7px}.archive-client-meta span{padding:5px 7px;color:#667985;background:#f4f7f8;border-radius:7px;font-size:7px}.archive-client-card>p{margin:0;color:#74858e;font-size:8px;line-height:1.8}.archive-client-card>button{min-height:39px;display:flex;align-items:center;justify-content:center;gap:7px;color:#fff;background:var(--red);border:1px solid var(--red);border-radius:9px;font-size:9px;font-weight:900}.archive-empty{min-height:76px;padding:15px;display:flex;align-items:center;justify-content:center;gap:9px;color:#3d715f;background:#eff9f5;border:1px dashed #bfdfd2;border-radius:12px;font-size:10px;font-weight:850}.archive-empty .ui-icon{width:20px;height:20px}
.delete-warning.permanent{border-width:2px}.purge-client-body{display:grid;gap:15px}.purge-inventory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.purge-inventory article{min-width:0;padding:12px;display:grid;gap:4px;background:#f7fafb;border:1px solid var(--line);border-radius:10px}.purge-inventory small{color:var(--muted);font-size:8px;font-weight:800}.purge-inventory b{overflow:hidden;color:var(--ink);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.purge-scope{padding:13px;display:flex;align-items:flex-start;gap:10px;color:#72544e;background:#fff8f6;border:1px solid #ead8d3;border-radius:11px}.purge-scope>.ui-icon{width:22px;height:22px;flex:0 0 22px;color:var(--red)}.purge-scope b{display:block;font-size:11px}.purge-scope p{margin:3px 0 0;font-size:9px;line-height:1.8}.purge-confirm{min-height:46px;padding:11px 13px;display:flex;align-items:center;gap:9px;color:#7c3934;background:#fff3f2;border:1px solid #ebcbc7;border-radius:10px;font-size:10px;font-weight:900}.purge-confirm input{width:19px;height:19px;accent-color:var(--red)}
.credential-visible-password{font-weight:900;letter-spacing:.02em;color:#163246;background:#fff}
@media (max-width:700px){.archive-management{margin-top:24px;padding:15px}.archive-management-heading{align-items:flex-start}.archive-management-heading p{font-size:10px;line-height:1.7}.archive-client-grid{grid-template-columns:minmax(0,1fr)}.archive-client-card>p,.archive-client-meta span{font-size:9px}.purge-inventory{grid-template-columns:repeat(2,minmax(0,1fr))}.purge-inventory small{font-size:9px}.purge-scope p,.purge-confirm{font-size:10px}.site-actions>button:not(.open-files){min-width:42px;height:42px}}

/* v1.11.0 — multi-system owner control and annual subscriptions */
.stat-card.red>span{color:#b23f3f;background:#fff0ef}.subscription-inline{margin-top:10px;padding:7px 9px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #cfe8dc;border-radius:9px;color:#1d765a;background:#eff9f5;font-size:8px}.subscription-inline span{font-weight:900}.subscription-inline b{font-size:7px}.subscription-inline.due-soon{color:#95600d;background:#fff8e9;border-color:#ecd6aa}.subscription-inline.suspended,.subscription-inline.expired{color:#a5413d;background:#fff2f1;border-color:#eecbc8}
.subscriptions-panel{min-width:0}.subscription-hero{min-height:128px;padding:25px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;overflow:hidden;color:#fff;background:linear-gradient(125deg,var(--navy),#0e689f);border-radius:19px;box-shadow:var(--shadow)}.subscription-hero>div{min-width:0;display:flex;align-items:center;gap:16px}.subscription-hero>div>span{width:62px;height:62px;display:grid;place-items:center;flex:0 0 62px;color:#fff;background:#ffffff13;border:1px solid #ffffff1f;border-radius:18px}.subscription-hero>div>span .ui-icon{width:31px;height:31px}.subscription-hero section{min-width:0}.subscription-hero small{color:#ffbc66;font-size:9px;font-weight:900;letter-spacing:.08em}.subscription-hero h2{margin:3px 0;font-size:25px}.subscription-hero p{margin:0;color:#c4d9e7;font-size:10px}.subscription-hero>button{min-height:44px;padding:0 17px;display:flex;align-items:center;gap:8px;flex:0 0 auto;color:var(--navy);background:#fff;border:0;border-radius:11px;font-size:10px;font-weight:900}
.subscription-stats{margin:14px 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.subscription-stats article{min-width:0;padding:15px 17px;display:grid;gap:2px;background:#fff;border:1px solid var(--line);border-radius:13px}.subscription-stats small{color:var(--muted);font-size:8px}.subscription-stats b{font-size:23px}.subscription-stats article.active b{color:var(--green)}.subscription-stats article.due b{color:#c47614}.subscription-stats article.stopped b{color:var(--red)}
.subscription-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:14px}.subscription-card{min-width:0;padding:19px;position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:0 12px 34px #12394f09}.subscription-card:before{content:"";width:5px;position:absolute;inset:0 0 0 auto;background:var(--green)}.subscription-card.due-soon:before{background:var(--orange)}.subscription-card.suspended:before,.subscription-card.expired:before{background:var(--red)}.subscription-card>header{min-width:0;display:flex;align-items:center;gap:11px}.subscription-card>header>div{min-width:0;flex:1}.subscription-card h3{margin:0;overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.subscription-card header p{margin:3px 0 0;overflow:hidden;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.subscription-card header em{padding:6px 9px;flex:0 0 auto;color:#167457;background:#eaf8f3;border-radius:9px;font-size:8px;font-style:normal;font-weight:900}.subscription-card.due-soon header em{color:#a36512;background:#fff4e2}.subscription-card.suspended header em,.subscription-card.expired header em{color:#a73f3b;background:#fff0ef}
.subscription-dates{margin-top:15px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.subscription-dates>div{min-width:0;padding:9px 10px;display:grid;gap:3px;background:#f7fafb;border:1px solid #edf1f3;border-radius:9px}.subscription-dates small{color:var(--muted);font-size:7px}.subscription-dates b{overflow:hidden;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.subscription-url{margin-top:10px;padding:9px 10px;display:flex;align-items:center;gap:7px;color:var(--blue);background:#f1f8fb;border:1px solid #dcecf3;border-radius:9px}.subscription-url>span{display:grid}.subscription-url .ui-icon{width:16px;height:16px}.subscription-url a{min-width:0;overflow:hidden;font-size:8px;text-overflow:ellipsis;white-space:nowrap;direction:ltr}.subscription-card>footer{margin-top:13px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.subscription-card>footer button,.subscription-card>footer a{min-height:39px;padding:0 8px;display:flex;align-items:center;justify-content:center;gap:6px;color:#526d7c;background:#fff;border:1px solid var(--line);border-radius:9px;font-size:8px;font-weight:900}.subscription-card>footer .open-system{color:#fff;background:var(--blue);border-color:var(--blue)}.subscription-card>footer .renew-subscription{color:#9a5a09;background:#fff7e9;border-color:#ecd4a6}.subscription-card>footer .subscription-toggle.suspend{color:#a53e3e;background:#fff2f1;border-color:#edcecb}.subscription-card>footer .subscription-toggle.activate{color:#197555;background:#edf9f4;border-color:#cce8dc}
.annual-subscription-note{margin-top:14px;padding:13px 14px;display:flex;align-items:flex-start;gap:10px;color:#81520e;background:#fff8e9;border:1px solid #edd8ad;border-radius:11px}.annual-subscription-note>.ui-icon{width:22px;height:22px;flex:0 0 22px}.annual-subscription-note b{display:block;font-size:10px}.annual-subscription-note p{margin:3px 0 0;font-size:8px;line-height:1.8}.subscription-action-body{display:grid;gap:14px}.subscription-action-icon{width:62px;height:62px;margin:auto;display:grid;place-items:center;color:#fff;background:var(--green);border-radius:18px 6px}.subscription-action-icon.renew{background:var(--orange)}.subscription-action-icon.suspend{background:var(--red)}.subscription-action-icon .ui-icon{width:30px;height:30px}.subscription-action-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.subscription-action-summary article{min-width:0;padding:11px;display:grid;gap:4px;background:#f7fafb;border:1px solid var(--line);border-radius:10px}.subscription-action-summary small{color:var(--muted);font-size:8px}.subscription-action-summary b{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.subscription-action-note{margin:0;padding:13px;color:#506d7d;background:#eef7fb;border:1px solid #d5e8f1;border-radius:10px;font-size:9px;line-height:1.9}.renewal-promise{padding:12px;display:flex;align-items:flex-start;gap:8px;color:#2d725c;background:#eff9f5;border:1px solid #cde8dd;border-radius:10px;font-size:9px;line-height:1.8}.renewal-promise .ui-icon{width:19px;height:19px;flex:0 0 19px}.modal form>footer .primary.dangerous{background:var(--red);border-color:var(--red)}
@media (max-width:1050px){.subscription-dates{grid-template-columns:repeat(2,minmax(0,1fr))}.subscription-card>footer{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.subscription-hero{padding:20px;display:grid}.subscription-hero>div{align-items:flex-start}.subscription-hero>div>span{width:52px;height:52px;flex-basis:52px}.subscription-hero h2{font-size:19px}.subscription-hero p{font-size:10px;line-height:1.8}.subscription-hero>button{width:100%;justify-content:center}.subscription-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.subscription-grid{grid-template-columns:minmax(0,1fr)}.subscription-card{padding:17px}.subscription-card>header{align-items:flex-start;flex-wrap:wrap}.subscription-card>header>div{min-width:calc(100% - 60px)}.subscription-dates{grid-template-columns:repeat(2,minmax(0,1fr))}.subscription-dates small,.subscription-card header p,.subscription-url a{font-size:9px}.subscription-dates b{font-size:9px}.subscription-card>footer{grid-template-columns:repeat(2,minmax(0,1fr))}.subscription-card>footer button,.subscription-card>footer a{min-height:44px;font-size:9px}.subscription-action-summary{grid-template-columns:minmax(0,1fr)}.subscription-action-summary article{grid-template-columns:110px minmax(0,1fr);align-items:center}.annual-subscription-note p,.subscription-action-note,.renewal-promise{font-size:10px}}
@media (max-width:410px){.subscription-stats,.subscription-dates,.subscription-card>footer{grid-template-columns:minmax(0,1fr)}.subscription-card>header em{margin-right:57px}.subscription-action-summary article{grid-template-columns:minmax(0,1fr)}}

/* ROOT Control 1.12 — project operations and live data. */
:root{--control-muted:#526878}
.project-open-button{display:flex;align-items:center;gap:9px;width:100%;min-height:44px;padding:10px 12px;margin:12px 0;color:var(--navy);background:#edf5fa;border:1px solid #d5e4ed;border-radius:10px;font-size:13px;font-weight:700}.project-open-button>span:last-child{margin-inline-start:auto}.project-open-button:hover{background:#deedf6}.project-kind{color:#315b77;font-weight:700}
.project-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding:16px;margin:16px 0;background:white;border:1px solid var(--line);border-radius:14px}.project-filters label{display:grid;gap:5px;color:var(--control-muted);font-size:12px}.project-filters select{min-width:175px}.project-filters>span{margin-inline-start:auto;color:var(--control-muted);font-size:13px;padding-bottom:10px}
.project-filters select,.project-center select,.project-center textarea{max-width:100%;min-height:44px;padding:9px 12px;color:var(--ink);background:#fff;border:1px solid #cbd9e3;border-radius:9px;font-size:14px}.project-center textarea{resize:vertical}.project-center{display:grid;gap:20px;min-width:0}.project-center>*{min-width:0}.project-switcher{display:flex;gap:15px;align-items:end;justify-content:space-between}.project-switcher label{display:grid;gap:7px;width:min(100%,480px);font-size:13px}.project-switcher select{width:100%}.project-center button,.project-center a,.preflight-box button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 13px;border:1px solid #cbd9e3;border-radius:9px;background:white;color:var(--navy);font-size:13px;line-height:1.6}.project-center button:disabled{opacity:.5;cursor:not-allowed}.project-center button:hover:not(:disabled),.project-center a:hover{background:#edf5fa}.project-center button:focus-visible,.project-center a:focus-visible,.project-center select:focus-visible,.project-center textarea:focus-visible,.project-filters select:focus-visible{outline:3px solid #eaa22b;outline-offset:3px}
.control-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px;border-radius:18px;background:var(--navy);color:white}.control-eyebrow{font-size:10px;letter-spacing:2px;color:#c2d8e9}.control-heading h2{margin:8px 0;font-size:clamp(21px,2vw,29px);overflow-wrap:anywhere}.control-heading p{margin:0;font-size:13px;color:#cbdfed;text-align:right}.control-links{display:flex;gap:8px;flex-wrap:wrap;justify-content:end;max-width:380px}.control-links a,.control-links button{background:#fff;color:var(--navy)}
.control-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.control-stats article{display:grid;gap:6px;padding:19px;background:#fff;border:1px solid var(--line);border-radius:13px}.control-stats span,.control-stats small{font-size:12px;color:var(--control-muted)}.control-stats b{font-size:24px;line-height:1.5}.control-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(270px,1fr);gap:18px;align-items:start}.control-panel{min-width:0;background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden}.control-panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:19px;border-bottom:1px solid var(--line)}.control-panel h3{display:flex;gap:8px;align-items:center;margin:0;font-size:16px}.control-panel header p{font-size:12px;line-height:1.8;color:var(--control-muted);margin:6px 0 0}.control-panel form{display:grid;gap:15px;padding:19px}.control-panel form label{display:grid;gap:7px;font-size:13px}.control-panel form p{margin:0;font-size:13px}.control-primary{background:var(--blue)!important;color:white!important}.control-runtime{padding:18px 20px;background:#f3f7fa;border-top:1px solid var(--line)}.control-runtime b{display:flex;align-items:center;gap:7px;font-size:13px}.control-runtime p{margin:10px 0;font-size:13px}.control-runtime small{display:block;line-height:1.9;color:var(--control-muted);font-size:12px}
.control-table-label{display:grid;gap:8px;padding:18px;font-size:13px}.control-table-label select{width:100%;min-width:0}.control-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:40px 25px;text-align:center;color:var(--control-muted);font-size:14px}.control-empty>.ui-icon{width:35px;height:35px;color:#557a95}.control-empty h4{margin:8px 0 0;color:var(--ink);font-size:16px}.control-empty p{max-width:520px;margin:4px 0;line-height:1.9;font-size:13px}.control-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:55px;color:var(--control-muted)}.control-data-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;background:#f7fafc;font-size:12px}.control-data-toolbar a{font-size:12px}.control-table-scroll{overflow:auto;max-width:100%;max-height:540px;overscroll-behavior:contain}.control-data-table{border-collapse:collapse;width:100%;font-size:13px;text-align:start}.control-data-table th{position:sticky;top:0;background:#eef4f8;z-index:1}.control-data-table td,.control-data-table th{padding:12px 15px;border-bottom:1px solid var(--line);text-align:start;min-width:110px;max-width:320px;overflow-wrap:anywhere;vertical-align:top}.control-data-table tbody tr:nth-child(even){background:#fafcfe}.control-null{color:#637987;font-style:italic}.control-pagination{display:flex;align-items:center;justify-content:center;gap:18px;padding:14px;font-size:13px;border-top:1px solid var(--line)}.control-note{padding:0 18px 16px;margin:0;color:var(--control-muted);font-size:12px;line-height:1.9}.control-list{max-height:340px;overflow-y:auto;padding:0 18px}.control-list>article{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #edf1f4;font-size:12px}.control-list>article:last-child{border:0}.control-list article>div{display:grid;gap:4px;min-width:0;flex:1}.control-list b{font-size:12px;overflow-wrap:anywhere}.control-list small{color:var(--control-muted);font-size:11px}.control-list>p{font-size:13px;line-height:1.9;color:var(--control-muted)}.control-list article>a{padding:9px}.control-version{padding:6px 9px;background:#edf5fa;border-radius:7px;font-weight:700}.control-activity{padding:0 18px;max-height:240px;overflow-y:auto}.control-activity p{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}.control-activity code{direction:ltr;color:#345b75}.control-activity time{color:var(--control-muted)}
.preflight-box{padding:15px;background:#eff6fb;border:1px solid #d4e4ef;border-radius:12px;margin:15px 0}.preflight-box>div{padding-top:12px;font-size:13px;line-height:1.9;color:#365569}.preflight-box p{margin:5px 0}.preflight-box ul{margin:5px 0;padding-inline-start:20px}
@media(max-width:1100px){.control-layout{grid-template-columns:minmax(0,1fr)}.control-heading{align-items:start;flex-direction:column}.control-links{max-width:none;justify-content:start}.control-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.project-center{gap:13px}.project-switcher{align-items:stretch;flex-direction:column}.project-switcher>button{align-self:start}.control-heading{padding:22px 18px}.control-links{display:grid;width:100%;grid-template-columns:1fr 1fr}.control-links>button{grid-column:1/-1}.control-stats{gap:9px}.control-stats article{padding:14px}.control-stats b{font-size:21px}.control-panel>header{align-items:start;flex-wrap:wrap;padding:16px}.control-panel>header>button{width:100%}.control-data-toolbar{align-items:start;flex-direction:column}.control-data-toolbar>a{width:100%}.project-filters{align-items:stretch}.project-filters label{flex:1;min-width:0}.project-filters select{min-width:0;width:100%}.project-filters>span{width:100%;margin:0;padding:0}.control-list{padding:0 13px}.control-list small{line-height:1.9}.project-center select{font-size:16px}.control-loading{padding:40px 15px}}
@media(prefers-reduced-motion:reduce){.project-center *,.project-open-button,.preflight-box *{animation:none!important;transition:none!important}}

/* ROOT Control 1.14 — distinct project collections and owner access vault. */
:root{--muted:#536b7b;--hub-navy:#092f4c;--hub-border:#dae5eb;--hub-soft:#edf4f8;--hub-radius:16px}
button,a,input,select,textarea,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #c9750f;outline-offset:3px}button:disabled{cursor:wait}summary{cursor:pointer}
.app-sidebar .brand-button{min-height:104px}.app-sidebar nav{margin-top:8px;gap:5px}.app-sidebar nav button{min-height:44px}.topbar{border-bottom:1px solid var(--hub-border)}.view-root{max-width:1750px;margin:auto}
.hub-dashboard,.hub-projects,.hub-vault{min-width:0}.hub-welcome{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:32px 36px;border:1px solid #214c6b;border-radius:var(--hub-radius);color:#fff;background:linear-gradient(115deg,#0a3455,#082940)}.hub-welcome h2{font-size:clamp(25px,2.3vw,35px);line-height:1.5;margin:10px 0}.hub-welcome p{font-size:14px;line-height:1.9;color:#c6d8e5;margin:8px 0}.hub-welcome-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}.hub-welcome-actions button,.hub-section-heading button,.hub-filter-strip button,.hub-card-actions button,.hub-card-actions a,.hub-access-actions button,.hub-access-actions a,.hub-builtin-access button,.hub-collection-header button,.hub-open-link,.hub-empty button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 15px;background:#fff;color:var(--hub-navy);border:1px solid var(--hub-border);border-radius:10px;font-size:13px;font-weight:600}.hub-welcome-actions button{background:#ffffff0d;border-color:#ffffff40;color:#fff}.hub-welcome-actions button b{min-width:24px;padding:1px 6px;border-radius:5px;background:#ffffff30}.hub-primary,.project-center .hub-primary{background:var(--blue)!important;color:#fff!important;border-color:var(--blue)!important}.hub-welcome .hub-primary{background:#fff!important;color:var(--hub-navy)!important;border-color:#fff!important}.hub-primary:hover{filter:brightness(.94)}.hub-pulse{flex:0 0 210px;border-right:1px solid #ffffff30;padding:12px 32px 12px 0;display:grid;gap:10px}.hub-pulse>span{color:#9dd9c5}.hub-pulse>span .ui-icon{width:29px;height:29px}.hub-pulse b{font-size:40px;line-height:1.2}.hub-pulse small{display:block;font-size:13px;font-weight:400;margin-top:10px;color:#d2e3ef}.hub-pulse p{font-size:11px;margin:0;color:#b7ccdb}
.hub-section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:29px 0 15px}.hub-section-heading h2{margin:0;font-size:21px}.hub-section-heading p{margin:6px 0 0;color:var(--muted);font-size:12px}.hub-section-heading>button{background:transparent;border-color:transparent}.hub-kind-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.hub-kind-tile{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:13px;align-items:center;text-align:right;background:#fff;padding:22px;border:1px solid var(--hub-border);border-radius:var(--hub-radius);color:var(--ink);transition:border-color .18s,box-shadow .18s}.hub-kind-tile:hover{border-color:#8faec1;box-shadow:0 6px 18px #14354d0c}.hub-kind-icon{display:grid;place-items:center;width:48px;height:48px;background:#eef5fc;color:#275d8f;border-radius:12px}.store .hub-kind-icon,.hub-card.store .hub-card-kind{background:#e9f6f0;color:#12654c}.system .hub-kind-icon,.hub-card.system .hub-card-kind{background:#f0edfa;color:#59418c}.hub-kind-icon .ui-icon{width:25px;height:25px}.hub-kind-copy{display:grid;gap:5px}.hub-kind-copy b{font-size:18px}.hub-kind-copy small{font-size:11px;line-height:1.8;color:var(--muted)}.hub-kind-tile>strong{font-size:29px;font-weight:600}.hub-kind-footer{grid-column:1/-1;border-top:1px solid var(--line);padding-top:14px;margin-top:3px;display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.hub-attention{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:13px 17px;background:#fffaf0;border:1px solid #ead9b6;border-radius:12px;margin-top:18px}.hub-attention>div{display:flex;align-items:center;gap:9px;margin-inline-end:auto;color:#79521c;font-size:13px}.hub-attention button{min-height:44px;display:flex;align-items:center;gap:8px;padding:8px 11px;font-size:12px;border:0;color:#694917;background:transparent;border-radius:8px}.hub-attention button:hover{background:#f8eed8}
.hub-collection-header{display:flex;align-items:center;gap:18px;padding:26px;background:#fff;border:1px solid var(--line);border-radius:var(--hub-radius)}.hub-collection-header>span{width:58px;height:58px;flex:0 0 58px;background:#eaf2f9;color:#265d88;border-radius:14px;display:grid;place-items:center}.hub-collection-header>span .ui-icon{width:29px;height:29px}.hub-collection-header.store>span{color:#12654c;background:#e9f6f0}.hub-collection-header.system>span{color:#59418c;background:#f0edfa}.hub-collection-header .control-eyebrow{color:#536b7b;font-size:10px}.hub-collection-header h2{margin:5px 0;font-size:24px}.hub-collection-header p{color:var(--muted);font-size:13px;margin:0}.hub-collection-header>strong{margin-inline-start:auto;text-align:center;font-size:33px;min-width:65px}.hub-collection-header strong small{display:block;font-size:12px;font-weight:400;color:var(--muted)}.hub-collection-header>button{margin-inline-start:auto;flex-shrink:0}.hub-filter-strip{display:flex;align-items:end;gap:15px;flex-wrap:wrap;margin:20px 0}.hub-filter-strip>label{display:grid;gap:6px;font-size:12px;color:var(--muted)}.hub-filter-strip select,.hub-filter-strip input{height:44px;min-width:160px;padding:8px 12px;border:1px solid #bbcedb;border-radius:9px;background:#fff;font-size:13px;color:var(--ink)}.hub-filter-strip input{width:100%;min-width:0}.hub-filter-strip>button:last-child{margin-inline-start:auto}.hub-chips{display:flex;gap:5px;flex-wrap:wrap;flex:1}.hub-chips button{font-size:12px;padding:8px 12px}.hub-chips .selected{background:var(--navy);border-color:var(--navy);color:#fff}.hub-search-label{flex:1;min-width:220px}.hub-empty{border:1px dashed #bcced9;border-radius:14px;background:#fff;margin-top:18px}.hub-archive,.hub-advanced{margin-top:24px;border:1px solid var(--hub-border);border-radius:12px;background:#fff;padding:0 18px}.hub-archive summary,.hub-advanced summary{min-height:52px;align-content:center;font-size:13px;color:var(--muted)}.hub-archive .archive-client-grid{margin-bottom:20px}.hub-advanced>div{display:flex;flex-wrap:wrap;gap:9px;padding:15px 0;border-top:1px solid var(--line)}.hub-advanced button.danger{color:#ad3737;border-color:#e5bebe;background:#fff6f6}
.hub-project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.hub-card.site-card{padding:19px;min-width:0;overflow:hidden;box-shadow:0 3px 12px #12394f04;background:#fff;border:1px solid var(--hub-border);border-radius:15px}.hub-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:17px}.hub-card-kind{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;font-size:11px;background:#eef5fc;color:#275d8f;border-radius:6px}.hub-card-kind .ui-icon{width:15px;height:15px}.hub-card .status{font-size:11px;white-space:nowrap}.hub-card h3{font-size:17px;line-height:1.7;margin:0;overflow-wrap:anywhere;min-height:29px}.hub-card-owner{font-size:12px;color:var(--muted);margin:5px 0 0;overflow-wrap:anywhere}.hub-card-owner>span{font-size:11px}.hub-card .site-url{display:flex;align-items:center;gap:8px;font-size:12px;margin-top:15px;padding:9px 10px;background:#f5f8fa;border:0}.hub-card .site-url span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.hub-card .site-url .ui-icon{width:16px;height:16px;flex-shrink:0}.hub-card-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:15px 0;border-bottom:1px solid #edf1f4}.hub-card-metrics>span{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted)}.hub-card-metrics b{font-size:13px;color:var(--ink);text-align:right}.hub-card-subscription{display:flex;align-items:center;gap:7px;margin:13px 0;font-size:11px;color:#356957}.hub-card-subscription .ui-icon{width:16px;height:16px}.hub-card-subscription.expired,.hub-card-subscription.suspended{color:#a63939}.hub-card-subscription.due-soon{color:#87551a}.hub-card-actions{display:flex;gap:7px;flex-wrap:wrap}.hub-card-actions>button,.hub-card-actions>a{font-size:12px;padding:8px 11px;flex:1}.hub-card-actions>.hub-primary{flex:1 0 100%}.hub-card-foot{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:13px;padding-top:12px;border-top:1px solid #edf1f4;font-size:10px;color:var(--muted)}.hub-card-foot>span{display:inline-flex;align-items:center;gap:5px}.hub-card-foot .ui-icon{width:13px;height:13px}.hub-card-foot button{font-size:11px;color:#215e88;background:transparent;border:0;padding:7px 2px;min-height:32px}
.hub-project-tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--hub-border);padding-bottom:12px}.hub-project-tabs button{flex:1;background:#fff;border-color:var(--hub-border);font-size:14px;min-height:48px}.hub-project-tabs button.selected{color:white;background:var(--navy);border-color:var(--navy)}[data-project-pane]{display:grid;gap:20px;min-width:0}.hub-stat-label{font-size:18px!important}.hub-profile-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:18px;align-items:start}.hub-project-aside{display:grid;gap:18px;min-width:0}.hub-aside-body{padding:18px;display:grid;gap:12px}.hub-aside-body dl{margin:0;display:grid;gap:6px}.hub-aside-body dt{font-size:12px;color:var(--muted)}.hub-aside-body dd{font-size:13px;margin:0 0 8px}.hub-aside-body p{margin:0;font-size:14px}.hub-aside-body small{color:var(--muted);font-size:12px;line-height:1.8}.hub-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;min-width:0}.hub-form-grid label{display:grid;gap:7px;font-size:13px;color:#344e60;min-width:0}.hub-form-wide{grid-column:1/-1}.hub-form-grid input,.hub-form-grid textarea,.hub-form-grid select{font-size:14px;width:100%;min-width:0;min-height:46px;padding:10px 12px;color:var(--ink);background:#fff;border:1px solid #bdcfdc;border-radius:9px;box-shadow:none}.hub-form-grid textarea{resize:vertical;line-height:1.8}.hub-form-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--line);padding-top:15px}.hub-form-footer p{font-size:12px;color:var(--muted)}.hub-form-footer button{flex-shrink:0}.hub-input-action{display:flex;min-width:0}.hub-input-action input{border-radius:0 9px 9px 0}.hub-input-action button{display:grid;place-items:center;background:#f2f7fa;color:var(--navy);border:1px solid #bdcfdc;border-right:0;min-width:44px;min-height:46px}.hub-input-action button:last-child{border-radius:9px 0 0 9px}.hub-access-note{display:flex;align-items:flex-start;gap:12px;padding:17px 20px;color:#3a6076;font-size:13px;line-height:1.9;background:#edf5fa;border:1px solid #d9e7f0;border-radius:12px;margin:17px 0}.hub-access-note p{margin:0}.hub-access-note>.ui-icon{width:22px;height:22px;margin-top:3px}.hub-primary-access .hub-access-note{margin:0;border:0;border-radius:0;background:#f8fafc}.hub-builtin-access{position:relative;padding:18px 22px;margin-bottom:18px;background:white;border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;gap:15px;flex-wrap:wrap}.hub-builtin-access h3{font-size:14px;margin:0}.hub-builtin-access p{font-size:12px;color:var(--muted);margin:0;flex:1}.hub-access-list{min-width:0}.hub-access-record{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;margin-bottom:12px}.hub-access-icon{display:grid;place-items:center;width:45px;height:45px;flex-shrink:0;color:#295e83;background:#eff5f9;border-radius:11px}.hub-access-record>div:not(.hub-access-actions){min-width:0;flex:1}.hub-access-record h3{margin:0;font-size:16px;overflow-wrap:anywhere}.hub-access-record p{margin:5px 0;font-size:12px;color:var(--muted)}.hub-access-record small{color:var(--muted);font-size:11px;line-height:1.8}.hub-access-actions{display:flex;flex-wrap:wrap;gap:8px}.hub-access-actions button,.hub-access-actions a{font-size:12px;padding:9px 12px}#project-access-list{padding:17px}#project-access-list .hub-access-record{flex-wrap:wrap}#project-access-list .hub-access-actions{width:100%}.hub-open-link{margin-inline-end:auto}.modal form>footer button{min-height:44px;font-size:13px}.modal form label{font-size:13px}.credential-input-action{min-width:0}.credential-input-action input{min-width:0}.credential-input-action button{min-width:40px}.credential-form-grid{grid-template-columns:1fr}.client-search-field input{font-size:14px}.client-search-summary{font-size:12px}
@media(min-width:861px){.app-sidebar{width:244px}.workspace{margin-right:244px;width:calc(100% - 244px)}.app-sidebar nav button{font-size:13px}.view-root{padding:25px 28px 40px}}
@media(min-width:861px) and (max-width:1180px){.app-sidebar{width:82px}.workspace,.app-shell.collapsed .workspace{width:calc(100% - 82px);margin-right:82px}.app-sidebar nav button>span{display:none}.app-sidebar .brand-button{min-height:70px}.hub-kind-tile{padding:16px;grid-template-columns:40px 1fr auto;gap:10px}.hub-kind-copy small{display:none}.hub-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1100px){.hub-profile-layout{grid-template-columns:minmax(0,1fr)}.hub-project-aside{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-access-record{flex-wrap:wrap}.hub-access-actions{width:100%}.hub-kind-tile{gap:10px;padding:17px}.hub-kind-copy small{font-size:10px}.hub-kind-copy b{font-size:16px}}
@media(max-width:860px){.app-sidebar .brand-button{display:none}.app-sidebar nav{margin:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}.app-sidebar nav button.mobile-secondary{display:none}.app-sidebar nav button{padding:5px 2px;min-width:0;height:56px;min-height:44px;gap:4px;display:flex;flex-direction:column;font-size:10px}.app-sidebar nav button>b{width:22px;height:22px}.app-sidebar nav button>span{display:block}.workspace,.app-shell.collapsed .workspace{width:100%;margin:0}.hub-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-kind-grid{gap:10px}.hub-kind-tile{display:flex;align-items:center;flex-wrap:wrap;padding:15px;gap:10px}.hub-kind-copy small{display:none}.hub-kind-icon{width:38px;height:38px}.hub-kind-tile>strong{font-size:23px;margin-inline-start:auto}.hub-kind-footer{width:100%;font-size:11px}.hub-pulse{flex-basis:165px;padding-right:22px}.hub-welcome{padding:26px}.hub-welcome h2{font-size:26px}.hub-welcome p{font-size:12px}}
@media(max-width:600px){.view-root{padding:17px 13px 32px}.topbar h1{font-size:19px;max-width:180px}.topbar p{display:none}.hub-welcome{padding:24px 21px;display:block}.hub-welcome h2{font-size:26px}.hub-pulse{display:none}.hub-welcome-actions{margin-top:18px}.hub-welcome-actions button{flex:1;font-size:12px;padding:10px 9px}.hub-kind-grid{grid-template-columns:1fr}.hub-kind-tile{display:grid;grid-template-columns:42px 1fr auto;padding:17px 18px}.hub-kind-copy small{display:block;font-size:11px}.hub-kind-footer{grid-column:1/-1}.hub-kind-tile>strong{font-size:27px}.hub-section-heading{margin-top:23px}.hub-section-heading h2{font-size:19px}.hub-section-heading p{font-size:11px}.hub-section-heading button{font-size:12px;padding-inline:5px}.hub-attention{align-items:stretch;padding:14px}.hub-attention>div{width:100%;margin-bottom:4px}.hub-attention button{flex:1 0 45%;padding:8px 4px;justify-content:space-between;text-align:right;font-size:11px}.hub-project-grid{grid-template-columns:minmax(0,1fr)}.hub-card.site-card{padding:20px}.hub-card-actions>.hub-primary{flex:2 1 auto}.hub-card-actions>button,.hub-card-actions>a{font-size:12px;padding:9px}.hub-collection-header{padding:20px 17px;gap:12px;flex-wrap:wrap}.hub-collection-header>span{width:45px;height:45px;flex-basis:45px}.hub-collection-header h2{font-size:23px}.hub-collection-header p{font-size:12px}.hub-collection-header>div{flex:1;min-width:0}.hub-collection-header>strong{font-size:29px;min-width:35px}.hub-collection-header>button{width:100%;margin-top:10px}.hub-chips{width:100%;flex:auto;gap:6px}.hub-chips button{flex:1 0 42%;font-size:12px}.hub-filter-strip>label{flex:1;min-width:0}.hub-filter-strip select{width:100%;min-width:0}.hub-filter-strip>button:last-child{font-size:12px}.hub-form-grid{grid-template-columns:1fr}.hub-form-wide{grid-column:auto}.hub-form-grid input,.hub-form-grid select,.hub-form-grid textarea{font-size:16px}.hub-project-aside{grid-template-columns:1fr}.hub-project-tabs{gap:7px}.hub-project-tabs button{flex:1 0 44%;font-size:12px;padding:9px}.hub-form-footer{flex-direction:column;align-items:stretch}.hub-access-record{padding:16px;gap:12px}.hub-access-record h3{font-size:15px}.hub-access-actions>button,.hub-access-actions>a{flex:1}.hub-builtin-access{padding:17px;display:block}.hub-builtin-access p{margin:9px 0 13px}.hub-builtin-access button{width:100%}.hub-open-link{width:100%;margin:0}.modal form>footer{flex-wrap:wrap}.modal>header h2{font-size:19px}.client-search-summary{display:none}.hub-project-center .project-switcher{flex-direction:row;flex-wrap:wrap}.hub-project-center .project-switcher label{width:100%}.hub-project-center .project-switcher button{flex:1}.hub-project-center .control-links{display:flex}.hub-project-center .control-links>*{flex:1}.hub-access-note{font-size:12px;padding:14px}.hub-search-label{min-width:100%!important}.hub-card-foot{font-size:11px}.hub-stat-label{font-size:15px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Email sign-in and browser trust. Inputs remain compatible with paste/autofill. */
.login-card-wrap:has(.auth-legacy){flex-direction:column;gap:20px}
.auth-legacy{width:min(100%,440px);font-size:13px}.auth-legacy summary{cursor:pointer;color:#52687a}.auth-legacy .login-card{margin-top:16px}
.auth-flow{display:grid;gap:18px;text-align:right}.auth-flow label{display:grid;gap:8px;color:#153a52;font-size:14px;font-weight:600}.auth-flow input:not([type=checkbox]){box-sizing:border-box;width:100%;min-width:0;min-height:48px;padding:12px 14px;border:1px solid #bccbd6;border-radius:10px;background:white;color:#17364c;font:inherit}.auth-flow input:focus-visible{outline:3px solid #f4931d;outline-offset:2px}.auth-flow .auth-code{font-size:28px;letter-spacing:.35em;text-align:center}.auth-flow .auth-trust{display:flex;align-items:flex-start;gap:10px;margin-top:18px;line-height:1.8}.auth-trust input{width:20px;height:20px;margin-top:4px;flex:0 0 20px;accent-color:#105789}.auth-hint,.auth-code-step small{font-size:12px;line-height:1.9;color:#536b7b}.auth-flow button,.auth-settings button{cursor:pointer;min-height:44px;padding:10px 16px;border-radius:9px;border:1px solid #c1d2df;font:inherit}.auth-flow .auth-submit,.auth-settings>button{background:#105789;color:white;border-color:#105789;justify-content:center}.auth-secondary{display:flex;gap:10px;flex-wrap:wrap}.auth-secondary button{background:#eef5fa;color:#153e59;font-size:12px}.auth-flow [hidden]{display:none!important}.auth-message{background:#edf4f9;color:#193c55;padding:12px;border-radius:9px;font-size:13px;line-height:1.8;overflow-wrap:anywhere}.auth-dialog{border:0;border-radius:18px;width:min(440px,calc(100vw - 32px));max-height:90dvh;box-sizing:border-box;padding:28px;color:#18394e;background:white;font-family:inherit;direction:rtl;overflow:auto}.auth-dialog::backdrop{background:rgba(5,28,45,.6)}.auth-dialog header{display:flex;justify-content:space-between;align-items:center;gap:12px}.auth-dialog h2{margin:0;font-size:20px}.auth-dialog p{line-height:1.9}.auth-close{border:0;background:#eef3f7;border-radius:8px;width:44px;height:44px;font-size:26px;cursor:pointer}.auth-settings{max-width:780px}.auth-device{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid #dbe5ec}.auth-device div{display:grid;gap:7px}.auth-device small{font-size:12px;color:#536b7b}.auth-device button{background:#fff4f3;color:#9f3535}.auth-device-list{margin-top:10px}button:disabled{cursor:wait;opacity:.65}@media(max-width:480px){.auth-device{align-items:flex-start;flex-direction:column}.auth-dialog{padding:20px}.auth-flow .auth-code{font-size:24px}}

/* Compact login flow with all primary actions reachable on laptop screens. */
#email-login-form .login-mini-logo{margin-bottom:14px;width:44px;height:44px;font-size:26px}#email-login-form h2{font-size:28px;margin:8px 0}#email-login-form>p{margin:0 0 18px}#email-login-form .auth-flow{gap:12px}#email-login-form .auth-flow label{margin:0}#email-login-form .auth-trust{margin-top:12px}#email-login-form .auth-message{margin:0;padding:10px}#email-login-form .auth-hint{margin:8px 0 0}#email-login-form footer{margin-top:16px}.login-card-wrap:has(#email-login-form){padding:32px 24px}.auth-dialog input[readonly]{background:#f2f6f8}

/* Mandatory platform refresh waits for the current operation and unsaved work. */
.platform-update-notice{position:fixed;inset:16px 16px auto auto;z-index:10000;width:min(440px,calc(100vw - 32px));padding:14px 18px;border:1px solid #d0b375;border-radius:14px;background:#fff8e8;color:#443414;box-shadow:0 8px 35px #082f5026;font-size:14px;line-height:1.8;text-align:right;overflow-wrap:anywhere}
.platform-update-notice[hidden],.platform-update-notice button[hidden]{display:none!important}
.platform-update-notice p{margin:0}
.platform-update-notice button{margin-top:18px;min-height:44px;padding:10px 20px;border:0;border-radius:10px;background:#105789;color:#fff;font:inherit;cursor:pointer}
.platform-update-notice button:focus-visible{outline:3px solid #116da7;outline-offset:4px}
.platform-update-notice.is-blocking{inset:0;width:100%;height:100dvh;border:0;border-radius:0;display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;padding:32px;text-align:center;background:#f5f8fc;color:#173d57}
.platform-update-notice.is-blocking p{max-width:540px;font-size:18px}
@media(max-width:600px){.platform-update-notice{inset:auto 12px calc(90px + env(safe-area-inset-bottom)) 12px;width:auto;padding:12px 14px;font-size:13px}.platform-update-notice.is-blocking{inset:0;width:100%;padding:24px}}
