/* Shared PlanWalkVR design tokens. No application or permission logic lives here. */
:root{color-scheme:light;--bg:#f5f7fb;--fg:#14294c;--text:#14294c;--muted:#607491;--line:#dce5f1;--accent:#1261ee;--accent-soft:#eaf2ff;--panel:#fff;--panel2:#f8faff;--bad:#c33240}
body{background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
[hidden]{display:none!important}
button,input,select,textarea,.buttonLink,.navButton{font:inherit}
button,.btn,.buttonLink,.navButton{background:#fff;color:var(--text);border:1px solid var(--line);border-radius:9px;box-shadow:0 1px 2px #18325405;transition:background .15s,border-color .15s,box-shadow .15s}
button:hover,button:focus-visible,.btn:hover,.buttonLink:hover,.buttonLink:focus-visible,.navButton:hover{background:#f0f5ff;border-color:#9ebff5;color:#1648a0}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #1261ee55;outline-offset:2px}
button:disabled{opacity:.45;cursor:not-allowed}
input,select,textarea{background:#fff;color:var(--text);border-color:#cddbed;accent-color:var(--accent)}
input::placeholder,textarea::placeholder{color:#7a8aa3}
label,.small,.muted,.status{color:var(--muted)}
a{color:#1859bc}a:hover{color:#104399}
header{background:#fff;border-color:var(--line);box-shadow:0 1px 5px #21396205}
.brand img{display:block;width:190px;max-width:100%;height:auto}
.brand{color:var(--text);gap:12px}
button.primary,.primary,.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
button.primary:hover,button.primary:focus-visible,.primary:hover{background:#0b50d1;color:#fff}
.danger,button.danger,.deleteBtn{color:#bd2939;background:#fff;border-color:#efb2ba}
.danger:hover,button.danger:hover,.deleteBtn:hover{background:#fff0f2;border-color:#d94b5c;color:#a82030}
section,.workspaceCard,.analyticsCard,.accessCard,.detailBox,.summaryCard{box-shadow:0 2px 9px #18325404}
h1,h2,h3{color:#14294c}
.buttonLink,.navButton{text-decoration:none}
.backLink{color:#1859bc;background:#f6f9ff;border:1px solid var(--line);padding:8px 12px;border-radius:8px}
.backLink:hover{color:#104399}
.adminTabs,.adminNav{background:#fff;border-color:var(--line);box-shadow:0 3px 14px #18325406}
.adminTabs button.active,.buttonLink.selected{color:#1455cc;background:var(--accent-soft);border-color:#a7c6ff;box-shadow:inset 0 -2px var(--accent)}
.workspaceLink,.accessSummary,.metric,.workspaceCard,.limitEditor,.detailBox,.summaryCard,.analyticsCard,.accessCard{background:#fff;color:var(--text);border-color:var(--line)}
.workspaceLink:hover{background:#f5f9ff;border-color:var(--accent)}
.guardEditor summary,.limitEditor summary{color:#1859bc}
.workspaceCard>summary:hover{background:#f8faff}
.statusBadge,.badge.active{color:#14714d;background:#e9f8f0;border-color:#b3e2ca}
.warningBadge,.badge.draft{color:#85510b;background:#fff8e8;border-color:#efd298}
.badge.archived{color:var(--muted)}
.trialBanner{background:var(--accent-soft);color:#174a9b}
.warning,.cleanupBox{background:#fff9ed;border-color:#eed6a3;color:#775015}
.cleanupWarning,.severityWarning{color:#8c590b}
.monitorGood{color:#15744f}.monitorBad,.severityCritical{color:#b72a3c}
.msg,.cleanupProgress{background:#f0f5fc;color:var(--text)}
.msg.bad,#accountMessage.error{background:#fff1f2;color:#b32738;border-color:#e6acb3}
.msg.ok{background:#e9f8f0;color:#14714d}
.tableScroll,#projectsList,#usersList,#assignmentsList,#versionsList,#deletedList,#feedbackList,.scroll{background:#fff;border-color:var(--line)}
td,th{border-color:var(--line)}th{background:#f2f6fc;color:#294364}
tr:hover td,.selectedRow{background:#f3f7ff}
.detailGrid pre,.promptForm textarea,.feedbackShot,.chart,.trendChart{background:#f8faff;color:var(--text);border-color:var(--line)}
.passwordDialog{background:#fff;color:var(--text);border-color:var(--line);box-shadow:0 20px 80px #14294c25}
.passwordDialog::backdrop{background:#14294c60;backdrop-filter:blur(3px)}
.budgetBar{background:#e5edf8}.budgetFill{background:var(--accent)}
.adminApp main{max-width:1480px}.adminApp header h1{margin:0;font-size:17px}
.adminApp header{min-height:68px}.adminApp .adminTabs{top:68px}
.accountsApp header{padding:14px max(20px,calc((100vw - 1200px)/2))}
.accountsApp main{max-width:1200px}.accountsApp .brand{display:flex;align-items:center;text-decoration:none;font-size:16px}
.accountsApp section{box-shadow:0 5px 24px #16356506}
.accountsApp nav button,.accountsApp .actions button{min-height:42px}
@media(max-width:640px){.brand img{width:150px}.adminApp header{flex-wrap:wrap;position:relative}.adminApp .brand{flex-direction:row;flex-wrap:wrap;align-items:center}.adminApp .adminTabs{top:0}.accountsApp header{padding:12px;gap:12px}.accountsApp .brand{flex-direction:column;align-items:flex-start;gap:4px;font-size:12px}}
.uiChevron{display:inline-block;flex:0 0 20px;width:20px;height:20px;vertical-align:middle;background:url('../icons/chevron-down.svg') center/20px no-repeat;transition:transform .15s}
[aria-expanded="true"]>.uiChevron{transform:rotate(180deg)}
select:not([multiple]):not([size]){appearance:none;-webkit-appearance:none;background-image:url('../icons/chevron-down.svg');background-repeat:no-repeat;background-position:right 10px center;background-size:20px;padding-right:38px!important}
@media(forced-colors:active){select:not([multiple]):not([size]){appearance:auto;background-image:none}.uiChevron{border-right:2px solid;border-bottom:2px solid;width:8px;height:8px;flex-basis:8px;transform:rotate(45deg);background:none}}
.imagePickerActions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:4px 4px 10px}
.imagePickerActions button{margin:0!important;width:100%;white-space:normal!important}
.aiRoomTools{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line,#dbe5f2);flex-shrink:0}
#aiRoomLabel{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#486487}
.aiRoomTools button{font-size:12px;padding:5px 9px}
.aiQuickQuestions{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:8px 12px;flex-shrink:0}
.aiQuickQuestions button{font-size:11px;line-height:1.35;min-height:34px;white-space:normal;text-align:left;padding:6px 8px;background:#f4f8ff;color:#234d80;border-color:#d5e3f5}
#aiHistoryDialog,#cameraDialog{box-sizing:border-box;background:#fff;color:#17335c;border:1px solid #d5e3f5;border-radius:18px;box-shadow:0 20px 80px #11284855;padding:20px;width:min(740px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto}
#aiHistoryDialog::backdrop,#cameraDialog::backdrop{background:#0d2138b3;backdrop-filter:blur(3px)}
#cameraDialog:not([open]),#aiHistoryDialog:not([open]){display:none}
.cameraHeading,.cameraActions,.cameraFallback{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cameraHeading{justify-content:space-between}.cameraHeading h3{margin:0}
#cameraSelect,#uploadImageKind{width:100%;margin:6px 0 12px;min-height:42px;padding:9px 38px 9px 12px;border:1px solid #d5e3f5;border-radius:10px;background-color:white;color:#17335c;font:inherit}
#cameraDialog button,#aiHistoryDialog button{min-height:40px}
.cameraStage{background:#101e31;border-radius:12px;overflow:hidden;min-height:120px;display:flex;align-items:center;justify-content:center}
.cameraStage video,.cameraStage img{width:100%;max-height:48dvh;object-fit:contain;display:block}
.cameraStage [hidden],#cameraDialog [hidden]{display:none!important}
.cameraActions{margin:12px 0}.cameraFallback{border-top:1px solid #dbe5f2;padding-top:12px}
#cameraStatus{font-size:13px;line-height:1.5;min-height:2em}
.aiHistoryEntry{border-top:1px solid #dbe5f2;padding:12px 0}
.aiHistoryEntry .aiMsg{white-space:pre-wrap;overflow-wrap:anywhere;padding:12px;border-radius:10px;margin:8px 0;background:#f4f8ff}
.aiHistoryEntry .user{background:#e5efff}
[data-ai-rating][aria-pressed="true"]{outline:2px solid #1261ee}
@media(max-width:520px){#cameraDialog,#aiHistoryDialog{padding:14px}.cameraActions button{flex:1}.cameraFallback button{width:100%}.aiQuickQuestions{padding:6px 10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
