@font-face{font-family:Poppins;src:url(/assets/fonts/poppins/400/pxiEyp8kv8JHgFVrJJfecnFHGPc.woff2)format("woff2");font-weight:400}@font-face{font-family:Poppins;src:url(/assets/fonts/poppins/500/pxiByp8kv8JHgFVrLGT9Z1xlFd2JQEk.woff2)format("woff2");font-weight:500}@font-face{font-family:Material Icons;src:url(/assets/fonts/mat-icons/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.woff2)format("woff2")}:root{--bg:#e5ebef;--bg-deep:#0f1b24;--panel:#ffffffeb;--panel-strong:#fff;--panel-soft:#f1f5f7eb;--line:#1c2f3e1f;--line-strong:#1c2f3e38;--text:#15232d;--muted:#62717c;--accent:#1f6b8c;--accent-soft:#1f6b8c1f;--machines:#296a52;--machines-soft:#296a521f;--materials:#7b5c1a;--materials-soft:#7b5c1a1f;--features:#7d3d2f;--features-soft:#7d3d2f1f;--tools:#5a4b84;--tools-soft:#5a4b841f;--warning:#c47b13;--warning-soft:#c47b1329;--success:#24764f;--success-soft:#24764f29;--danger:#b3473f;--danger-soft:#b3473f1f;--shadow-soft:0 14px 34px #111d2712;--shadow-strong:0 18px 42px #08111924;--radius:16px;--radius-sm:11px}*{box-sizing:border-box}html,body{width:100%;min-height:100%;color:var(--text);background:radial-gradient(circle at top left, #1f6b8c1f, transparent 36%), radial-gradient(circle at top right, #296a521f, transparent 28%), linear-gradient(180deg, #f4f7f9 0%, var(--bg) 100%);margin:0;font-family:Poppins,system-ui,sans-serif}body{min-height:100vh;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{background:0 0;border:0}input,textarea,select{border:1px solid var(--line);width:100%;color:var(--text);background:#ffffffe0;border-radius:14px;outline:none;padding:12px 14px;transition:border-color .14s,box-shadow .14s,background-color .14s}input:focus,textarea:focus,select:focus{background:#fff;border-color:#1f6b8c6b;box-shadow:0 0 0 4px #1f6b8c1f}textarea{resize:vertical}.mi{-webkit-font-smoothing:antialiased;font-family:Material Icons;font-size:1.2rem;font-style:normal;line-height:1;display:inline-block}.welcome-screen,.app-shell{min-height:100vh}.welcome-screen{background:linear-gradient(160deg,#0c18221f,#fff0);grid-template-columns:minmax(0,1.35fr) minmax(360px,470px);display:grid}.welcome-hero{color:#fff;background:linear-gradient(140deg,#0a141de0,#1c3746bd),url(/assets/bg.jpeg) 50%/cover;position:relative;overflow:hidden}.welcome-hero:after{content:"";pointer-events:none;background:radial-gradient(circle,#ffffff2e,#0000 62%);border-radius:50%;width:360px;height:360px;position:absolute;inset:auto -10% 12% auto}.welcome-hero-overlay{z-index:1;align-content:center;gap:22px;min-height:100%;padding:72px 80px;display:grid;position:relative}.hero-pill,.metric-badge,.viewer-chip,.status-badge,.filter-chip,.tab-link,.toggle-button,.quick-link-card,.ghost-button,.primary-button{border-radius:999px}.hero-pill{letter-spacing:.06em;text-transform:uppercase;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff21;width:fit-content;padding:10px 16px;font-size:.77rem}.hero-brand,.brand-link,.user-chip,.header-actions,.search-field,.toggle-group,.draft-position-head,.metric-head,.master-card-top,.request-card-top,.position-card-top,.viewer-shell-head,.viewer-controls,.row-actions,.auth-switch,.section-head,.panel-list-row,.status-overview-item,.request-card-foot,.position-card-foot,.position-card-meta,.sequence-item,.fact-item,.tab-row,.bar-row{align-items:center;gap:12px;display:flex}.hero-brand{align-items:center}.hero-brand strong,.brand-copy strong{letter-spacing:.04em;text-transform:uppercase;font-size:1.12rem}.hero-brand small,.brand-copy small,.request-card span,.position-card span,.metric-card span,.panel-list-row span,.surface-card p,.surface-card small,.muted-copy{color:var(--muted)}.hero-brand .brand-badge,.brand-link .brand-badge{color:#fff;background:linear-gradient(145deg,#ffffff24,#ffffff0d),linear-gradient(135deg,#1f6b8ce6,#0a1824eb);border-radius:18px;place-items:center;width:60px;height:60px;font-weight:600;display:grid;box-shadow:inset 0 1px #ffffff47}.hero-brand .brand-badge.large{width:72px;height:72px;font-size:1.6rem}.welcome-hero h1{max-width:10.5ch;margin:0;font-size:clamp(2.8rem,5.2vw,5rem);line-height:.92}.welcome-hero p{color:#ffffffd1;max-width:620px;margin:0;font-size:1.02rem;line-height:1.8}.hero-tags{flex-wrap:wrap;gap:12px;display:flex}.hero-tags span{color:#ffffffe0;background:#ffffff14;border-radius:14px;align-items:center;gap:10px;padding:12px 14px;display:inline-flex}.auth-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(#ffffffeb,#f8fafbf5);align-content:center;gap:20px;padding:52px;display:grid}.panel-copy h2,.stage-headline h1,.section-head h2,.viewer-shell h2{margin:0;font-weight:600}.panel-copy p,.stage-headline p,.section-head p{color:var(--muted);margin:6px 0 0;line-height:1.6}.status-text{min-height:24px;color:var(--muted);margin:0}.status-text.error{color:var(--danger)}.stack-form,.entity-form{gap:18px;display:grid}.stack-form label{gap:8px;display:grid}.info-panel,.surface-card,.metric-card,.request-card,.position-card,.master-card,.quick-link-card,.panel-list-row,.data-table,.viewer-placeholder,.empty-state,.inline-notice,.modal-sheet,.search-field,.tab-link,.toggle-button,.filter-chip{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-soft)}.info-panel{border-radius:var(--radius-sm);gap:6px;padding:18px;display:grid}.filter-chip,.tab-link,.toggle-button,.primary-button,.ghost-button,.icon-button,.quick-link-card,.master-card,.request-card,.position-card,.nav-item,.panel-list-row{transition:transform .14s,border-color .14s,background-color .14s,box-shadow .14s}.filter-chip,.toggle-button,.primary-button,.ghost-button,.icon-button{cursor:pointer;justify-content:center;align-items:center;gap:8px;display:inline-flex}.filter-chip,.toggle-button,.tab-link{color:var(--muted);padding:10px 16px}.filter-chip.active,.toggle-button.active,.tab-link.active{color:var(--accent);background:#1f6b8c1a;border-color:#1f6b8c47}.primary-button,.ghost-button{border:1px solid #0000;padding:12px 18px}.primary-button{color:#fff;background:linear-gradient(135deg,#205f7e,#16364b);box-shadow:0 16px 30px #16364b38}.primary-button:hover,.ghost-button:hover,.icon-button:hover,.filter-chip:hover,.toggle-button:hover,.tab-link:hover,.nav-item:hover,.panel-list-row:hover,.request-card:hover,.position-card:hover,.master-card:hover,.quick-link-card:hover{transform:translateY(-1px)}.primary-button:hover{box-shadow:0 18px 32px #16364b47}.ghost-button,.icon-button{color:var(--text);border-color:var(--line);background:#ffffffb8}.ghost-button.danger{color:var(--danger);background:#b3473f12;border-color:#b3473f3d}.ghost-button.small,.icon-button{padding:10px 12px}.ghost-button.full-width,.primary-button.wide{width:100%}.icon-button{border-radius:12px;width:42px;min-width:42px;height:42px}.app-shell{grid-template-columns:clamp(248px,21vw,296px) minmax(0,1fr);max-width:100vw;height:100vh;display:grid;overflow:hidden}.sidebar{color:#ffffffeb;background:linear-gradient(#0a141dfa,#111f2bfa),linear-gradient(160deg,#1f6b8c29,#0000 45%);grid-template-rows:auto 1fr auto;gap:24px;height:100vh;min-height:0;padding:28px 22px;display:grid;position:sticky;top:0;overflow:hidden}.brand-link{align-items:center;gap:14px;min-width:0}.brand-copy{gap:4px;min-width:0;display:grid}.brand-copy small{color:#ffffff9e}.sidebar-nav{align-content:start;gap:10px;min-height:0;padding-right:4px;display:grid;overflow-y:auto}.nav-item{color:#ffffffbd;border-radius:16px;align-items:center;gap:14px;padding:14px 16px;display:flex}.nav-item.active{color:#fff;background:#ffffff14;box-shadow:inset 0 0 0 1px #ffffff14}.sidebar-footer{background:linear-gradient(#111f2b00,#111f2bf5 18%);border-top:1px solid #ffffff14;gap:16px;padding-top:14px;display:grid}.user-chip{background:#ffffff14;border-radius:18px;align-items:center;padding:14px}.user-chip>span{color:#fff;background:linear-gradient(135deg,#1f6b8ce0,#ffffff1f);border-radius:14px;place-items:center;width:46px;height:46px;font-weight:600;display:grid}.user-chip div{display:grid}.user-chip small{color:#fff9}.app-stage{min-width:0;height:100vh;padding:18px clamp(16px,2vw,24px) 22px;overflow:hidden auto}.stage-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px 18px;margin-bottom:14px;display:flex}.stage-headline{flex:360px;gap:4px;min-width:0;display:grid}.stage-headline>div{gap:4px;min-width:0;display:grid}.stage-headline h1{letter-spacing:-.03em;font-size:clamp(1.8rem,2vw + .65rem,2.35rem);line-height:1.02}.stage-headline p{max-width:70ch;font-size:.93rem;line-height:1.45}.breadcrumbs{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.78rem;display:flex}.breadcrumbs a{color:var(--accent)}.crumb-separator{color:#62717c85}.stage-body,.page-section,.stack-grid{gap:16px;display:grid}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.metric-grid.compact{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.metric-card{border-radius:var(--radius);gap:8px;padding:16px 16px 15px;display:grid}.metric-card strong{letter-spacing:-.02em;font-size:clamp(1.45rem,1.4vw,1.7rem);line-height:.98}.metric-card>span:last-of-type{font-size:.92rem;font-weight:500;line-height:1.35}.metric-card small{color:var(--muted);font-size:.8rem;line-height:1.45}.metric-head{justify-content:space-between}.metric-icon{background:#ffffffb8;border-radius:12px;place-items:center;width:36px;height:36px;display:inline-grid}.metric-icon .mi,.metric-head>.mi{font-size:1.1rem}.metric-card.tone-accent{background:linear-gradient(#1f6b8c1a,#fffffff5)}.metric-card.tone-machines{background:linear-gradient(180deg, var(--machines-soft), #fffffff5)}.metric-card.tone-materials{background:linear-gradient(180deg, var(--materials-soft), #fffffff5)}.metric-card.tone-features,.metric-card.tone-strategies{background:linear-gradient(180deg, var(--features-soft), #fffffff5)}.metric-card.tone-tools,.metric-card.tone-customers{background:linear-gradient(180deg, var(--tools-soft), #fffffff5)}.metric-card.tone-muted,.metric-card.tone-default{background:linear-gradient(#62717c14,#fffffff5)}.surface-card,.request-card,.position-card,.master-card,.quick-link-card,.data-table,.empty-state,.inline-notice{border-radius:var(--radius)}.surface-card,.data-table{width:100%;min-width:0;padding:16px}.surface-card.inset{background:var(--panel-soft)}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px 14px;margin-bottom:12px}.section-head>div{gap:4px;display:grid}.section-head h2{font-size:clamp(1.02rem,1vw + .72rem,1.28rem);line-height:1.18}.section-head p{font-size:.9rem;line-height:1.45}.text-link{color:var(--accent);font-weight:500}.dashboard-grid,.viewer-layout,.request-form-layout,.settings-layout,.detail-grid.two-column{gap:18px;display:grid}.dashboard-grid,.request-form-layout,.settings-layout{grid-template-columns:minmax(0,1.55fr) minmax(260px,.9fr)}.settings-layout{grid-template-columns:minmax(210px,260px) minmax(0,1fr);align-items:start}.viewer-layout{grid-template-columns:minmax(240px,.8fr) minmax(0,1.55fr)}.detail-grid.two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-list{gap:10px;display:grid}.panel-list-row{border-radius:16px;justify-content:space-between;padding:14px 16px}.panel-list-row div{gap:4px;display:grid}.status-overview{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:14px;display:grid}.status-overview-item{border:1px solid var(--line);background:#ffffffb8;border-radius:16px;justify-content:space-between;padding:12px 14px}.quick-grid,.master-card-grid,.request-grid,.position-grid,.tile-grid{gap:14px;display:grid}.quick-grid,.master-card-grid,.tile-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.request-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.position-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.master-card,.request-card,.position-card,.quick-link-card{gap:12px;padding:16px;display:grid}.master-card:hover,.request-card:hover,.position-card:hover,.quick-link-card:hover{box-shadow:var(--shadow-strong);border-color:#1f6b8c38}.quick-link-card{color:var(--text);place-items:center start;padding:14px 15px}.quick-link-card .mi,.master-icon{width:38px;height:38px;color:var(--accent);background:#1f6b8c1a;border-radius:12px;place-items:center;display:inline-grid}.master-card-top{justify-content:space-between}.master-card-copy{gap:6px;display:grid}.master-card-copy strong{font-size:1.02rem;line-height:1.24}.master-card-copy p{margin:0;font-size:.92rem;line-height:1.55}.master-data-overview-page{gap:0}.master-card-hub{align-content:start;gap:18px;min-height:176px;padding:20px}.master-card-hub .master-card-top{justify-content:flex-start}.master-card-hub .master-icon{border-radius:14px;width:44px;height:44px}.master-card-hub.tone-accent,.master-card-hub.tone-colors,.master-card-hub.tone-surfaces{background:linear-gradient(#1f6b8c14,#fffffffa)}.master-card-hub.tone-machines{background:linear-gradient(#296a521a,#fffffffa)}.master-card-hub.tone-materials{background:linear-gradient(#7b5c1a1a,#fffffffa)}.master-card-hub.tone-features,.master-card-hub.tone-strategies{background:linear-gradient(#7d3d2f1a,#fffffffa)}.master-card-hub.tone-tools{background:linear-gradient(#5a4b841a,#fffffffa)}.master-card-hub.tone-materials .master-icon{background:var(--materials-soft);color:var(--materials)}.master-card-hub.tone-machines .master-icon{background:var(--machines-soft);color:var(--machines)}.master-card-hub.tone-features .master-icon,.master-card-hub.tone-strategies .master-icon{background:var(--features-soft);color:var(--features)}.master-card-hub.tone-tools .master-icon{background:var(--tools-soft);color:var(--tools)}.master-card-hub.tone-accent .master-icon,.master-card-hub.tone-colors .master-icon,.master-card-hub.tone-surfaces .master-icon{background:var(--accent-soft);color:var(--accent)}.master-count{letter-spacing:-.02em;font-size:1.5rem;font-weight:600}.request-meta-grid,.detail-hero-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.request-meta-grid div,.detail-hero-grid div{gap:4px;display:grid}.detail-hero{border-radius:var(--radius);background:linear-gradient(#1f6b8c14,#fffffff0);border:1px solid #1f6b8c29;padding:18px}.detail-note{color:var(--muted);margin:16px 0 0;line-height:1.7}.viewer-shell{min-height:460px}.viewer-shell-head{justify-content:space-between;align-items:flex-start;margin-bottom:18px}.viewer-controls{flex-wrap:wrap;justify-content:flex-end}.viewer-chip,.metric-badge{color:var(--muted);padding:8px 12px}.viewer-placeholder,.empty-state,.inline-notice{text-align:center;place-items:center;gap:10px;min-height:220px;padding:28px;display:grid}.viewer-placeholder .mi{color:var(--accent);font-size:2.6rem}.feature-tree ul{border-left:1px dashed #62717c52;margin:10px 0 0;padding-left:18px;list-style:none}.feature-tree li{gap:8px;margin:10px 0;display:grid}.feature-tree span{color:var(--text)}.fact-list{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;display:grid}.fact-item{border:1px solid var(--line);background:#ffffffb8;border-radius:16px;justify-content:space-between;padding:14px 16px}.fact-item span{color:var(--muted)}.sequence-list{gap:12px;margin-bottom:18px;display:grid}.sequence-item{border:1px solid var(--line);background:#ffffffb8;border-radius:16px;justify-content:space-between;align-items:flex-start;padding:14px 16px}.sequence-item>div{gap:4px;display:grid}.sequence-hints{background:#1f6b8c0f;border:1px solid #1f6b8c1a;border-radius:16px;gap:6px;margin-bottom:18px;padding:16px;display:grid}.search-field{flex:280px;align-items:center;gap:12px;min-width:min(300px,100%);max-width:100%;padding:0 12px;display:flex}.search-field input{box-shadow:none;background:0 0;border:0;padding:12px 0}.filter-row,.tab-row{flex-wrap:wrap;gap:10px;display:flex}.toggle-group{flex-wrap:wrap}.data-table{gap:10px;display:grid;overflow-x:auto}.data-row{background:#ffffffbd;border:1px solid #1c2f3e14;border-radius:16px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));align-items:center;gap:14px;padding:12px 14px;display:grid}.data-row.head{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;background:#15232d0d;font-size:.84rem}.data-row span,.data-row a{min-width:0}.data-row span{gap:4px;display:grid}.data-row small{color:var(--muted)}.data-row.clickable:hover{border-color:#1f6b8c38}.row-actions{flex-wrap:wrap;justify-content:flex-end}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-field,.form-check{gap:8px;display:grid}.form-field span,.form-check span{color:var(--muted);font-size:.92rem}.form-field.span-2{grid-column:span 2}.form-check{grid-auto-flow:column;justify-content:start;align-items:center}.form-check input{width:auto;margin:0}.form-actions,.modal-footer{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.draft-position-list{gap:14px;display:grid}.draft-position-card{border:1px solid var(--line);background:#f8fafbe0;border-radius:18px;padding:16px}.draft-position-head{justify-content:space-between;margin-bottom:16px}.color-card{gap:14px;display:grid}.color-swatch{border:1px solid #ffffff6b;border-radius:16px;width:100%;height:72px}.card-stack{gap:4px;display:grid}.settings-nav,.settings-panel{height:fit-content}.settings-nav{padding:16px}.settings-nav .tab-row{flex-direction:column;align-items:flex-start;gap:8px}.settings-nav .section-head{margin-bottom:10px}.settings-nav .tab-link{min-height:40px;box-shadow:none;padding:8px 14px;font-size:.92rem}.settings-panel{min-width:0}.settings-panel .section-head{margin-bottom:12px}.settings-panel .surface-card{box-shadow:none}.header-actions{flex-wrap:wrap;flex:280px;justify-content:flex-end;min-width:0;max-width:100%}.header-actions>*{max-width:100%}.cad-upload-controls{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.cad-upload-field{flex:220px;min-width:min(220px,100%)}.cad-upload-submit{flex-shrink:0;margin-bottom:1px}.cad-analysis-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:.84rem;display:flex}.cad-detail-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.inline-notice{text-align:left;grid-auto-flow:column;justify-content:start;place-items:start;min-height:auto;padding:16px 18px}.inline-notice.success{background:#24764f14;border-color:#24764f2e}.inline-notice.error{background:#b3473f14;border-color:#b3473f2e}.bar-list{gap:14px;display:grid}.bar-row{grid-template-columns:minmax(100px,160px) minmax(0,1fr) 44px;align-items:center;gap:12px;display:grid}.bar-track{background:#15232d14;border-radius:999px;height:12px;overflow:hidden}.bar-fill{background:linear-gradient(135deg,#1f6b8ceb,#296a52eb);border-radius:999px;min-width:8%;height:100%}.status-badge{border:1px solid #0000;justify-content:center;align-items:center;width:fit-content;padding:8px 12px;font-size:.82rem;display:inline-flex}.status-badge.success{color:var(--success);background:var(--success-soft);border-color:#24764f2e}.status-badge.accent{color:var(--accent);background:var(--accent-soft);border-color:#1f6b8c2e}.status-badge.warning{color:var(--warning);background:var(--warning-soft);border-color:#c47b132e}.status-badge.muted,.status-badge.neutral{color:var(--muted);background:#62717c14;border-color:#62717c29}.modal-backdrop{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:40;background:#090f166b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-sheet{border-radius:24px;width:min(920px,100%);max-height:min(90vh,900px);padding:22px;overflow:auto}.modal-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.modal-header>div{gap:6px;display:grid}.modal-header span{color:var(--muted)}.empty-state strong{font-size:1.05rem}.table-wrap{border:1px solid var(--border,#15232d1a);border-radius:12px;overflow-x:auto}.admin-table thead th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--border,#15232d1a);text-align:left;white-space:nowrap;background:#15232d0a;padding:10px 14px;font-size:.8rem;font-weight:600}.admin-table tbody td{vertical-align:middle;border-bottom:1px solid #15232d0f;padding:12px 14px;font-size:.92rem}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr:hover td{background:#1f6b8c0a}.table-cell-stack{gap:2px;display:grid}.table-cell-stack small{color:var(--muted);font-size:.8rem}.action-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.section-head .head-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.nav-item-admin{border-top:1px solid #15232d1f;margin-top:8px;padding-top:8px}.user-role-badge{color:var(--accent);text-transform:uppercase;letter-spacing:.05em;background:var(--accent-soft);text-align:center;border-radius:4px;margin-bottom:4px;padding:2px 8px;font-size:.75rem;font-weight:600}.ghost-button.tone-error{color:var(--error,#c0392b)}.ghost-button.tone-error:hover{background:#c0392b14}.modal-sheet-wide{width:min(1040px,100%)}.modal-body{gap:20px;padding-bottom:4px;display:grid}.form-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--line,#15232d1a);padding-bottom:6px;font-size:.78rem;font-weight:700}.form-fieldset{border:none;margin:0;padding:0}.form-fieldset legend{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--line,#15232d1a);width:100%;margin-bottom:8px;padding-bottom:6px;font-size:.78rem;font-weight:700}.fieldset-hint{color:var(--muted);margin:0 0 12px;font-size:.82rem}.feature-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;display:grid}.feature-check{border:1px solid var(--line,#15232d1a);background:var(--panel-soft,#15232d05);border-radius:8px;align-items:flex-start;gap:8px;padding:8px 10px;transition:border-color .15s}.feature-check:has(input:checked){border-color:var(--accent,#1f6b8c);background:var(--accent-soft,#1f6b8c0f)}.feature-check-label{gap:2px;display:grid}.feature-hint-default{color:var(--muted);font-size:.72rem}.feature-hint-granted{color:var(--success,#27ae60);font-size:.72rem;font-weight:600}.feature-hint-denied{color:var(--error,#c0392b);font-size:.72rem;font-weight:600}.feature-override-badge{background:var(--panel-soft);color:var(--muted);border:1px solid var(--line);vertical-align:middle;border-radius:4px;align-items:center;gap:2px;padding:2px 6px;font-size:.7rem;display:inline-flex}.feature-override-badge .mi{font-size:.75rem}.fact-label{color:var(--muted);min-width:100px;font-size:.8rem}.fact-list.compact .fact-item{border-bottom:1px solid var(--line,#15232d0f);align-items:center;gap:8px;padding:6px 0;font-size:.88rem;display:flex}.fact-list.compact .fact-item:last-child{border-bottom:none}.text-muted{color:var(--muted);font-size:.88rem}.admin-tab-bar{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);gap:4px;width:fit-content;max-width:100%;margin-bottom:20px;padding:6px;display:flex}.admin-tab-link{border-radius:calc(var(--radius-sm) - 4px);color:var(--muted);white-space:nowrap;align-items:center;gap:6px;padding:8px 20px;font-size:.92rem;font-weight:500;text-decoration:none;transition:background .12s,color .12s;display:inline-flex}.admin-tab-link:hover{background:var(--accent-soft);color:var(--accent)}.admin-tab-link.active{background:var(--accent);color:#fff}.admin-tab-content{gap:20px;display:grid}.license-edit-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-bottom:24px;display:grid}.section-head.compact{margin-bottom:12px;padding-bottom:12px}.table-link{color:var(--accent);font-weight:500;text-decoration:none}.table-link:hover{text-decoration:underline}.muted-link{color:var(--muted);font-size:.88rem;text-decoration:none}.muted-link:hover{color:var(--accent)}.fact-item--dim{opacity:.4}.form-field.full-width{grid-column:1/-1}@media (width<=1280px){.app-shell{grid-template-columns:248px minmax(0,1fr)}.dashboard-grid,.request-form-layout,.settings-layout,.viewer-layout,.detail-grid.two-column{grid-template-columns:1fr}}@media (width<=960px){.welcome-screen{grid-template-columns:1fr}.auth-panel,.welcome-hero-overlay{padding:32px 24px}.app-shell{grid-template-columns:1fr;height:auto;overflow:visible}.sidebar{height:auto;min-height:auto;position:static;overflow:visible}.sidebar-nav,.app-stage{overflow:visible}.app-stage{height:auto}.stage-header{flex-direction:column}.header-actions{flex-wrap:wrap;justify-content:stretch;width:100%}.search-field{width:100%;min-width:0}.form-grid,.quick-grid{grid-template-columns:1fr}.form-field.span-2{grid-column:span 1}}@media (width<=640px){.app-stage{padding:16px}.sidebar{padding:18px}.metric-grid,.cad-detail-grid,.data-row{grid-template-columns:1fr}.row-actions,.form-actions,.modal-footer,.header-actions{justify-content:stretch}.ghost-button,.primary-button,.tab-link,.toggle-button,.filter-chip{width:100%}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.feedback-fab{z-index:45;color:#fff;cursor:pointer;background:linear-gradient(135deg,#205f7e,#16364b);border-radius:999px;place-items:center;width:52px;height:52px;transition:transform .14s,box-shadow .14s;display:grid;position:fixed;bottom:28px;right:28px;box-shadow:0 6px 20px #16364b52}.feedback-fab:hover{transform:scale(1.08)translateY(-2px);box-shadow:0 10px 28px #16364b6b}.feedback-fab:active{transform:scale(.96)}.feedback-backdrop{z-index:50}.feedback-modal{width:min(640px,100%)}.feedback-screenshot-section{gap:8px;display:grid}.feedback-screenshot-buttons{flex-wrap:wrap;gap:10px;display:flex}.feedback-capture-overlay{z-index:70;cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none;background:#050a101f;position:fixed;inset:0}.feedback-capture-hud{z-index:71;color:#fff;cursor:default;background:#0d1823eb;border-radius:999px;align-items:center;gap:12px;padding:10px 14px;display:flex;position:fixed;top:18px;left:50%;transform:translate(-50%);box-shadow:0 10px 28px #08111a47}.feedback-capture-hud strong,.feedback-capture-hud span{color:inherit}.feedback-capture-hud span{font-size:.88rem}.feedback-capture-hud .ghost-button{color:#fff;border-color:#ffffff38}.feedback-capture-selection{z-index:70;pointer-events:none;background:#ffffff29;border:2px solid #fffffff5;position:fixed;box-shadow:0 0 0 9999px #050a1066}.feedback-capture-selection.is-hidden{display:none}.feedback-screenshot-preview-wrap{gap:8px;display:grid}.feedback-annotation-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.feedback-annotation-toolbar .ghost-button.active{color:#a30080;background:#ff00c814;border-color:#ff00c866}.feedback-annotation-chip{color:var(--text);background:#ff00c814;border:1px solid #ff00c82e;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:.82rem;display:inline-flex}.feedback-annotation-swatch{border-radius:999px;flex-shrink:0;width:12px;height:12px;box-shadow:0 0 0 2px #ffffffb3,0 0 0 3px #ff00c829}.feedback-annotation-editor{border-radius:var(--radius-sm);border:1px solid var(--line);background:linear-gradient(#ffffffa6,#e5ebf0cc);width:fit-content;max-width:100%;display:inline-flex;overflow:hidden}.feedback-annotation-editor.is-annotating{box-shadow:0 0 0 3px #ff00c81f}.feedback-annotation-canvas{max-width:100%;display:block}.feedback-screenshot-preview{object-fit:contain;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--panel-soft);max-width:100%;max-height:260px}.feedback-annotation-note{border-radius:var(--radius-sm);color:var(--muted);background:#ff00c80f;border:1px solid #ff00c824;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;font-size:.83rem;line-height:1.5;display:flex}.feedback-annotation-note .mi{color:#a30080;flex-shrink:0;margin-top:1px;font-size:1rem}.feedback-annotation-note strong{color:#a30080}.feedback-required{color:var(--danger)}.feedback-privacy-note{color:var(--muted);align-items:flex-start;gap:8px;margin:0;font-size:.82rem;line-height:1.5;display:flex}.feedback-privacy-note .mi{flex-shrink:0;margin-top:1px;font-size:1rem}.feedback-error-message{border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);border:1px solid #b3473f38;margin:0;padding:10px 14px;font-size:.875rem}.feedback-success{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:32px 24px;display:flex}.feedback-success-icon{color:var(--success);font-size:3.2rem}.feedback-success strong{color:var(--success);font-size:1.1rem}.feedback-success span{color:var(--muted);max-width:32ch}.feedback-admin-list{flex-direction:column;gap:16px;display:flex}.feedback-admin-filters{gap:14px;margin-bottom:18px;display:grid}.feedback-admin-filter-group{gap:8px;display:grid}.feedback-admin-filter-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.82rem;font-weight:700}.feedback-admin-card{background:var(--panel-strong);border:1px solid var(--line);border-radius:var(--radius-sm);flex-direction:column;gap:14px;padding:20px 24px;display:flex}.feedback-admin-card-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.feedback-admin-card-copy{gap:10px;display:grid}.feedback-admin-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:.85rem;display:flex}.feedback-admin-meta .mi{opacity:.7;font-size:1rem}.feedback-admin-badges{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.feedback-admin-actions{flex-wrap:wrap;flex-shrink:0;gap:8px;display:flex}.feedback-admin-status-actions{flex-wrap:wrap;gap:8px;display:flex}.feedback-admin-description{color:var(--text);white-space:pre-wrap;margin:0;font-size:.95rem;line-height:1.55}.feedback-admin-title{font-size:1rem;line-height:1.4}.feedback-admin-screenshot-wrap{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--panel-soft);overflow:hidden}.feedback-admin-screenshot{object-fit:contain;cursor:zoom-in;width:100%;max-height:220px;transition:max-height .2s;display:block}.feedback-admin-screenshot--expanded{cursor:zoom-out;max-height:none}.feedback-admin-screenshot-placeholder{border:1px dashed var(--line);border-radius:var(--radius-sm);align-items:center;padding:10px 14px;display:flex}.feedback-admin-edit-form{border-top:1px solid var(--line);flex-direction:column;gap:12px;padding-top:14px;display:flex}.feedback-admin-edit-buttons{justify-content:flex-end;gap:8px;display:flex}.feedback-admin-note{background:var(--panel-soft);border-radius:var(--radius-sm);color:var(--muted);border:1px solid var(--line);align-items:flex-start;gap:8px;padding:10px 14px;font-size:.875rem;display:flex}.feedback-admin-note .mi{opacity:.65;flex-shrink:0;margin-top:1px;font-size:1rem}.feedback-admin-note span{white-space:pre-wrap;line-height:1.5}
