:root{--ink:#18344d;--muted:#53677d;--accent:#2878f0;--line:#d4dee9;--bg:#f8fafc}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 'Segoe UI',Arial,sans-serif}header{padding:18px 4vw;background:white;border-bottom:1px solid var(--line);display:flex;gap:24px;align-items:center;flex-wrap:wrap}header form{margin-left:auto}a{color:var(--accent);text-decoration:none}main{max-width:1240px;margin:auto;padding:30px 24px}h1{margin-bottom:4px}h2{font-size:20px;margin-top:0}h3{font-size:16px}.intro,.hint{color:var(--muted)}.hint{font-size:13px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}section{background:white;border:1px solid var(--line);border-radius:16px;padding:24px;margin-bottom:20px}label{display:block;margin:8px 0;font-size:14px}input,select{display:block;width:100%;font:inherit;padding:11px;border:1px solid var(--line);border-radius:8px;margin-top:5px;min-height:44px}button{border:0;background:var(--accent);color:white;padding:11px 16px;border-radius:8px;cursor:pointer;font:600 14px system-ui;min-height:44px}button:disabled{opacity:.5;cursor:wait}button.secondary{background:#edf4ff;color:var(--ink)}.inline{display:flex;align-items:end;flex-wrap:wrap;gap:12px}.inline label{flex:1;min-width:150px}.inline button{margin-bottom:8px}.totals{display:flex;gap:16px;flex-wrap:wrap;margin:22px 0}.total{flex:1;min-width:120px;background:#edf2f8;padding:16px;border-radius:12px}.total strong{font-size:26px;display:block}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:12px;border-bottom:1px solid var(--line);font-size:14px}th{white-space:nowrap}.salon{border-top:1px solid var(--line);padding:15px 0}.salon-head{display:flex;gap:16px;align-items:center;justify-content:space-between}.employee{display:flex;align-items:center;gap:16px;justify-content:space-between;padding:9px 0;color:var(--muted)}#message{min-height:24px;white-space:pre-wrap}#message.error{color:#a32b32}#audit{font-size:13px;color:var(--muted);padding-left:20px}@media(max-width:700px){.grid{grid-template-columns:1fr}main{padding:18px 12px}section{padding:18px}header strong{order:3;width:100%}.employee{align-items:flex-start;flex-wrap:wrap}}

[hidden]{display:none!important}

.feedback-entry{padding:18px 0;border-bottom:1px solid var(--line)}.feedback-comment{white-space:pre-wrap;overflow-wrap:anywhere}.feedback-entry pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;background:var(--bg);padding:12px}.feedback-entry button{margin-top:12px}

/* Shared OptiLab identity used by the lens-search screen. */
.brand{display:block;flex-shrink:0}.brand img{display:block;width:180px;max-width:100%;height:auto}
.search-link{padding:10px 14px;border:1px solid var(--line);border-radius:9px;color:var(--ink);font-weight:600}
.search-link:hover{background:#edf4ff;border-color:#95bff7}
header>strong{font-size:12px;font-weight:500;background:#edf2f8;color:var(--ink);padding:7px 11px;border-radius:20px}
h1{font-size:32px;letter-spacing:-1.1px;font-weight:550}section{border-radius:13px}
button:hover:not(:disabled){background:#1c65d4}button.secondary:hover:not(:disabled){background:#dceaff}
input:focus,select:focus{outline:2px solid #95bff7;outline-offset:1px}
button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
th{background:#f3f8ff;color:var(--muted)}tbody tr:nth-child(even){background:#edf2f8}
@media(max-width:700px){header{gap:12px}.brand img{width:150px}h1{font-size:26px}}

.access-request-entry{padding:18px 0;border-top:1px solid var(--line)}.access-request-entry p{overflow-wrap:anywhere}

/* Cabinet sections approved in the four-link navigation mockup. */
.admin-navigation{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 28px}.admin-navigation a,.admin-navigation button{display:inline-flex;align-items:center;justify-content:center;min-width:128px;min-height:44px;padding:11px 18px;border:1px solid #a7c7fb;border-radius:8px;background:#fff;color:var(--ink);font:600 14px/1.5 "Segoe UI",Arial,sans-serif}.admin-navigation [aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff}.admin-navigation a:hover,.admin-navigation button:hover:not(:disabled){background:#edf4ff;color:var(--ink)}.admin-navigation [aria-pressed="true"]:hover:not(:disabled){background:#1c65d4;color:#fff}
