/* Customer workspace: isolated from the public site and administrator. */
@import url('./customer-access.css');
.customer-access-page .auth-shell,.customer-access-page .auth-content{display:contents}
.customer-access-page .customer-access-card label{display:flex;flex-direction:column;gap:8px}
.customer-portal-body{background:var(--bg);color:var(--text)}
.customer-portal-body .customer-top{padding:16px max(20px,calc((100vw - 1200px)/2));gap:16px;flex-wrap:wrap;background:var(--surface-solid);border-bottom:1px solid var(--line)}
.customer-top .brand img{max-width:130px;max-height:46px;object-fit:contain}
.customer-top>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.customer-portal-body .customer-main{width:calc(100% - 40px);max-width:1200px;margin:28px auto;padding:0;min-width:0}
.customer-portal-body h1,.customer-portal-body h2{font-family:var(--body-font);line-height:1.6;margin:0 0 12px;font-weight:800}
.customer-portal-body h1{font-size:clamp(23px,3vw,32px)}
.customer-portal-body h2{font-size:20px}
.customer-portal-body p{line-height:1.9;overflow-wrap:anywhere}
.customer-portal-body .customer-hero{padding:26px 28px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(110deg,#20c8e812,var(--surface-solid));margin-bottom:22px}
.customer-portal-body .customer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);align-items:start;gap:22px}
.customer-portal-body .admin-card{padding:24px;border-radius:16px;min-width:0;background:var(--surface-solid);border:1px solid var(--line);margin-bottom:20px}
.customer-portal-body .admin-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px}
.customer-portal-body .admin-form label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600;min-width:0}
.customer-portal-body .admin-form .full,.customer-portal-body .admin-form>button{grid-column:1/-1}
.customer-portal-body input,.customer-portal-body select,.customer-portal-body textarea{width:100%;min-height:46px;border-radius:9px;padding:10px 12px;font:inherit;background:var(--bg);color:var(--text);border:1px solid var(--line)}
.customer-portal-body textarea{resize:vertical;line-height:1.8;min-height:130px}
.customer-portal-body :is(input,select,textarea):focus-visible{outline:3px solid #20c8e840;border-color:var(--teal)}
.customer-portal-body small{color:var(--muted);font-weight:400;line-height:1.8}
.customer-portal-body .btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--body-font);border-radius:9px;white-space:normal;text-align:center}
.customer-portal-body .table-wrap{overflow:auto;max-width:100%;border:1px solid var(--line);border-radius:10px;margin-top:18px}
.customer-portal-body table{width:100%;margin:0;border-collapse:collapse;font-size:13px}
.customer-portal-body th{background:var(--bg);color:var(--muted);white-space:nowrap}
.customer-portal-body :is(th,td){padding:14px 12px;line-height:1.8;text-align:right}
.customer-portal-body td[colspan]{text-align:center;padding:32px 16px;color:var(--muted)}
.customer-portal-body .ticket-message{padding:18px;margin:16px 0;background:var(--bg);border:1px solid var(--line);border-radius:12px;overflow-wrap:anywhere}
.customer-portal-body .ticket-message.admin{border-right:3px solid var(--teal)}
.customer-portal-body .ticket-message small{display:block;margin-top:12px}
.customer-portal-body .alert{position:relative;padding:16px 20px;margin:0 0 20px;line-height:1.9;z-index:1}
.customer-portal-body .stats-grid{gap:16px;margin-bottom:22px}
.customer-portal-body .stat-card{padding:22px;border-radius:14px;border-top:3px solid var(--teal)}
@media(max-width:800px){.customer-portal-body .customer-grid{grid-template-columns:1fr}.customer-portal-body .customer-main{width:calc(100% - 28px);margin:20px auto}.customer-portal-body .customer-top{padding:14px}.customer-portal-body .customer-hero{padding:20px}.customer-portal-body .admin-card{padding:18px}.customer-portal-body .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.customer-portal-body .admin-form{grid-template-columns:1fr}.customer-portal-body .stats-grid{grid-template-columns:1fr}.customer-top>div{width:100%}.customer-top .btn{flex:1}.customer-portal-body h2{font-size:18px}}
