:root{--acp-bg:#f5f7fb;--acp-panel:#fff;--acp-text:#111827;--acp-muted:#6b7280;--acp-line:#e5e7eb;--acp-dark:#0b1220;--acp-accent:#4f46e5;--acp-soft:#eef2ff}
body:has(.acp-app),body:has(.acp-login-shell){background:var(--acp-bg)}
.acp-app,.acp-app *,.acp-login-shell,.acp-login-shell *{box-sizing:border-box}.acp-app{min-height:82vh;display:grid;grid-template-columns:220px 290px minmax(0,1fr);background:var(--acp-panel);border:1px solid var(--acp-line);border-radius:18px;overflow:hidden;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--acp-text);max-width:1450px;margin:30px auto;box-shadow:0 18px 50px rgba(15,23,42,.08)}
.acp-sidebar{background:var(--acp-dark);color:#fff;padding:22px 16px;display:flex;flex-direction:column;min-height:760px}.acp-logo{display:flex;align-items:center;gap:10px;padding:4px 8px 28px}.acp-logo span,.acp-brand-mark{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:grid;place-items:center;color:#fff;font-weight:800}.acp-sidebar nav{display:grid;gap:5px}.acp-nav{border:0;background:transparent;color:#aeb8ca;text-align:left;padding:12px 13px;border-radius:10px;font-size:14px;display:flex;gap:10px;cursor:pointer}.acp-nav.active,.acp-nav:hover{background:#182235;color:#fff}.acp-userbox{margin-top:auto;border-top:1px solid #263248;padding:18px 5px 0;display:grid;grid-template-columns:38px 1fr auto;gap:9px;align-items:center}.acp-userbox strong,.acp-userbox small{display:block}.acp-userbox small{color:#91a0b6;font-size:11px}.acp-userbox>a{color:#91a0b6;text-decoration:none}.acp-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e0e7ff;color:#4338ca;font-weight:800}.acp-avatar.small{width:34px;height:34px;font-size:12px}.acp-clients{border-right:1px solid var(--acp-line);padding:18px;background:#fbfcfe}.acp-panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.acp-panel-title a{text-decoration:none;font-size:22px}.acp-clients input{width:100%;border:1px solid var(--acp-line);border-radius:10px;padding:10px 12px;margin-bottom:12px;background:#fff}.acp-client-row{display:grid;grid-template-columns:36px 1fr;gap:9px;padding:10px;border-radius:10px;text-decoration:none;color:inherit}.acp-client-row.active,.acp-client-row:hover{background:#eef2ff}.acp-client-row strong,.acp-client-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acp-client-row small{font-size:11px;color:var(--acp-muted);margin-top:2px}.acp-main{min-width:0;display:flex;flex-direction:column;background:#fff}.acp-topbar{height:76px;border-bottom:1px solid var(--acp-line);padding:14px 24px;display:flex;align-items:center;justify-content:space-between}.acp-topbar h2{font-size:17px;margin:0 0 3px}.acp-topbar p{font-size:12px;color:var(--acp-muted);margin:0}.acp-online{font-size:12px;color:#16a34a;background:#f0fdf4;padding:6px 9px;border-radius:999px}.acp-view{display:none;min-height:0;flex:1}.acp-view.active{display:flex;flex-direction:column}.acp-messages{flex:1;padding:24px;overflow-y:auto;background:linear-gradient(180deg,#fff,#fafbff);max-height:610px}.acp-msg{margin:0 0 18px;max-width:72%}.acp-msg.mine{margin-left:auto}.acp-msg-meta{font-size:11px;color:var(--acp-muted);display:flex;gap:7px;margin:0 0 5px 4px}.acp-msg.mine .acp-msg-meta{justify-content:flex-end}.acp-bubble{background:#f1f5f9;border-radius:4px 16px 16px 16px;padding:11px 14px;font-size:14px;line-height:1.5;word-break:break-word}.acp-msg.mine .acp-bubble{background:var(--acp-accent);color:#fff;border-radius:16px 4px 16px 16px}.acp-msg-image{display:block;max-width:280px;max-height:240px;border-radius:10px;margin-top:8px}.acp-file-pill{display:block;margin-top:8px;padding:8px 10px;border:1px solid rgba(255,255,255,.25);border-radius:9px;color:inherit;text-decoration:none}.acp-composer{border-top:1px solid var(--acp-line);padding:14px 18px;display:grid;grid-template-columns:34px 1fr auto;gap:8px;align-items:end}.acp-composer textarea{resize:none;min-height:42px;max-height:110px;border:1px solid var(--acp-line);border-radius:12px;padding:11px 12px;font:inherit}.acp-composer button,.acp-section-head button,.acp-modal-form button{background:var(--acp-accent);border:0;color:#fff;border-radius:10px;padding:11px 17px;font-weight:700;cursor:pointer}.acp-composer button:disabled{opacity:.6}.acp-attach{font-size:21px;cursor:pointer;padding:7px}.acp-section-head{padding:24px;border-bottom:1px solid var(--acp-line);display:flex;justify-content:space-between;gap:15px;align-items:center}.acp-section-head h2{margin:0 0 5px;font-size:22px}.acp-section-head p{margin:0;color:var(--acp-muted);font-size:13px}.acp-project-grid{padding:24px;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:15px;overflow:auto}.acp-project{border:1px solid var(--acp-line);border-radius:14px;padding:16px;background:#fff}.acp-project-top{display:flex;justify-content:space-between;align-items:center}.acp-project h3{font-size:16px;margin:15px 0 8px}.acp-project p{font-size:13px;color:var(--acp-muted);line-height:1.5;max-height:98px;overflow:auto}.acp-status{font-size:11px;font-weight:800;padding:5px 8px;border-radius:999px;background:#f3f4f6}.status-requested{color:#92400e;background:#fffbeb}.status-editing{color:#1d4ed8;background:#eff6ff}.status-review{color:#6d28d9;background:#f5f3ff}.status-delivered{color:#15803d;background:#f0fdf4}.acp-status-select{width:100%;margin-top:10px;padding:8px;border:1px solid var(--acp-line);border-radius:8px}.acp-modal-form{position:absolute;right:25px;top:100px;width:min(430px,calc(100% - 40px));background:#fff;border:1px solid var(--acp-line);box-shadow:0 25px 60px rgba(15,23,42,.18);border-radius:15px;padding:20px;z-index:5}.acp-main{position:relative}.acp-modal-form h3{margin-top:0}.acp-modal-form input,.acp-modal-form textarea{width:100%;margin-bottom:10px;padding:11px;border:1px solid var(--acp-line);border-radius:9px;font:inherit}.acp-modal-form>div{display:flex;justify-content:flex-end;gap:8px}.acp-modal-form .secondary{background:#eef2f7;color:#111827}.acp-files-list{padding:24px;display:grid;gap:9px}.acp-file-row{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:12px;border:1px solid var(--acp-line);border-radius:12px;padding:12px 14px;text-decoration:none;color:inherit}.acp-file-row strong,.acp-file-row small{display:block}.acp-file-row small{color:var(--acp-muted);margin-top:3px}.acp-file-row b{font-size:12px;color:var(--acp-accent)}.acp-empty,.acp-loading,.acp-error{padding:40px;text-align:center;color:var(--acp-muted)}.acp-empty.small{grid-column:1/-1}.acp-empty h2,.acp-empty h3{color:var(--acp-text)}.acp-error{color:#b91c1c}.acp-login-shell{min-height:72vh;display:grid;place-items:center;padding:40px;font-family:Inter,ui-sans-serif,system-ui}.acp-login-card{width:min(420px,100%);background:#fff;border:1px solid var(--acp-line);border-radius:18px;padding:32px;box-shadow:0 18px 50px rgba(15,23,42,.09)}.acp-login-card .acp-brand-mark{margin-bottom:20px}.acp-login-card h1{font-size:26px;margin:0 0 7px}.acp-login-card>p{color:var(--acp-muted);margin:0 0 22px}.acp-login-card label{font-weight:600;font-size:13px}.acp-login-card input[type=text],.acp-login-card input[type=password]{width:100%;padding:11px;border:1px solid var(--acp-line);border-radius:9px;margin-top:5px}.acp-login-card .login-submit input{width:100%;padding:11px;border:0;border-radius:9px;background:var(--acp-accent);color:#fff;font-weight:800}.acp-forgot{font-size:12px;text-decoration:none}
@media(max-width:900px){.acp-app{grid-template-columns:74px minmax(0,1fr);margin:0;border-radius:0;border-left:0;border-right:0}.acp-sidebar{min-height:720px;padding:16px 10px}.acp-logo strong,.acp-sidebar nav span,.acp-userbox>div,.acp-userbox>a{display:none}.acp-logo{justify-content:center;padding:4px 0 20px}.acp-nav{justify-content:center;font-size:19px}.acp-userbox{grid-template-columns:1fr;justify-items:center}.acp-clients{display:none}.acp-msg{max-width:88%}}
@media(max-width:520px){.acp-topbar{padding:12px 14px}.acp-messages{padding:14px}.acp-composer{padding:10px;grid-template-columns:30px 1fr auto}.acp-composer button{padding:10px}.acp-section-head{padding:18px;align-items:flex-start;flex-direction:column}.acp-project-grid,.acp-files-list{padding:14px}.acp-file-row{grid-template-columns:28px 1fr}.acp-file-row b{display:none}}

.acp-login-form{display:grid;gap:8px}.acp-login-form label{margin-top:5px}.acp-login-form input[type=text],.acp-login-form input[type=password]{width:100%;padding:12px 13px;border:1px solid var(--acp-line);border-radius:10px;background:#fff;font:inherit;outline:none}.acp-login-form input[type=text]:focus,.acp-login-form input[type=password]:focus{border-color:var(--acp-accent);box-shadow:0 0 0 3px rgba(79,70,229,.10)}.acp-remember{display:flex;align-items:center;gap:7px;font-weight:500!important;margin:5px 0 3px!important}.acp-login-button{width:100%;margin-top:4px;padding:12px 14px;border:0;border-radius:10px;background:var(--acp-accent);color:#fff;font-weight:800;cursor:pointer}.acp-login-error{margin:0 0 15px;padding:11px 12px;border:1px solid #fecaca;background:#fef2f2;color:#b91c1c;border-radius:10px;font-size:13px}.acp-login-help{font-size:12px!important;margin:14px 0 0!important;color:var(--acp-muted)!important;text-align:center}

/* Standalone branded portal: no WordPress/theme chrome. */
html:has(body.acp-standalone-page){margin-top:0!important;background:var(--acp-bg)}
body.acp-standalone-page{margin:0!important;padding:0!important;min-height:100vh;background:var(--acp-bg)!important}
body.acp-standalone-page #wpadminbar{display:none!important}
body.acp-standalone-page .acp-login-shell{min-height:100vh}
body.acp-standalone-page .acp-app{min-height:calc(100vh - 40px);margin:20px auto}
.acp-login-form input[type=email]{width:100%;padding:12px 13px;border:1px solid var(--acp-line);border-radius:10px;background:#fff;font:inherit;outline:none}
.acp-login-form input[type=email]:focus{border-color:var(--acp-accent);box-shadow:0 0 0 3px rgba(79,70,229,.10)}
.acp-auth-links{display:grid;gap:10px;margin-top:16px;text-align:center;font-size:12px;color:var(--acp-muted)}
.acp-auth-links a,.acp-auth-link{color:var(--acp-accent);text-decoration:none;font-weight:700}
.acp-auth-link{display:block;text-align:center;margin-top:16px}
.acp-login-success{margin:0 0 15px;padding:11px 12px;border:1px solid #bbf7d0;background:#f0fdf4;color:#166534;border-radius:10px;font-size:13px}
.acp-link-button{display:block;text-align:center;text-decoration:none}
@media(max-width:900px){body.acp-standalone-page .acp-app{min-height:100vh;margin:0}}

/* Client accounts do not have the staff client-list column. */
.acp-app.acp-app-client{grid-template-columns:220px minmax(0,1fr)}
.acp-app.acp-app-client .acp-main{grid-column:2}
@media(max-width:900px){.acp-app.acp-app-client{grid-template-columns:74px minmax(0,1fr)}}
