:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#171717;background:#f7f7f5;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{min-height:100%}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{border-radius:0}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:2px;outline:2px solid #171717}.save-success{background:#f1f1ed;border:1px solid #cfcfc9;margin-top:20px;padding:14px 16px;font-size:13px}.edit-style{margin-top:40px}.edit-style-header{border-bottom:1px solid #d9d9d5;padding-bottom:28px}.edit-style-header h1{letter-spacing:-.04em;margin:0;font-size:clamp(32px,5vw,48px);font-weight:500;line-height:1}.edit-style-header p{color:#777;margin:14px 0 0;font-size:14px}.form-error{color:#8b2f2f;background:#faf2f2;border:1px solid #d7b5b5;margin-top:24px;padding:14px 16px;font-size:13px}.edit-form{margin-top:32px}.form-section{border-bottom:1px solid #d9d9d5;padding:28px 0}.form-section-heading{margin-bottom:24px}@media (width<=700px){.edit-form-actions{justify-content:stretch}.edit-form-actions button{flex:1}}:root{--physalia-black:#171717;--physalia-white:#fff;--physalia-background:#f7f7f5;--physalia-surface:#fff;--physalia-border:#e4e4e0;--physalia-border-dark:#d2d2cd;--physalia-text:#171717;--physalia-muted:#747470;--physalia-subtle:#999994;--physalia-hover:#f5f5f3;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-5:48px;--sidebar-width:248px;--content-max-width:1440px}html,body,#root{min-height:100%}body{background:var(--physalia-background);color:var(--physalia-text)}a{color:inherit}button,input,textarea,select{border-radius:0}.app-shell{background:var(--physalia-background);min-height:100vh;color:var(--physalia-text);display:flex}.sidebar{width:var(--sidebar-width);background:var(--physalia-white);min-height:0;color:var(--physalia-text);border-right:1px solid var(--physalia-border);z-index:20;flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.brand{border-bottom:1px solid var(--physalia-border);align-items:center;gap:12px;padding:24px;display:flex}.brand-mark{border:1px solid var(--physalia-text);place-items:center;width:32px;height:32px;font-size:14px;font-weight:600;line-height:1;display:grid}.brand-name{flex-direction:column;gap:2px;font-size:13px;font-weight:600;line-height:1.2;display:flex}.brand-name strong{color:var(--physalia-muted);letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:600;line-height:1.2}.sidebar-section{padding:24px 16px}.sidebar-section+.sidebar-section{border-top:1px solid var(--physalia-border);padding-top:16px}.sidebar-label{color:var(--physalia-muted);letter-spacing:.12em;text-transform:uppercase;padding:0 8px 8px;font-size:10px;font-weight:600;line-height:1.4}.navigation{flex-direction:column;gap:0;display:flex}.navigation-item{width:100%;color:var(--physalia-muted);border-left:2px solid #0000;padding:9px 8px;font-size:14px;font-weight:400;line-height:1.4;text-decoration:none;transition:background .12s,color .12s;display:block}.navigation-item:hover{background:var(--physalia-hover);color:var(--physalia-text)}.navigation-item.active{border-left-color:var(--physalia-text);background:var(--physalia-hover);color:var(--physalia-text);font-weight:600}.sidebar-footer{border-top:1px solid var(--physalia-border);margin-top:auto;padding:16px}.logout-button{border:1px solid var(--physalia-border-dark);background:var(--physalia-white);width:100%;color:var(--physalia-text);cursor:pointer;text-align:left;padding:10px 12px;font-size:14px;font-weight:400;transition:background .12s,border-color .12s}.logout-button:hover{background:var(--physalia-hover);border-color:var(--physalia-text)}.main-content{min-width:0;margin-left:var(--sidebar-width);flex:1}.topbar{border-bottom:1px solid var(--physalia-border);background:var(--physalia-white);justify-content:flex-end;align-items:center;min-height:56px;padding:0 32px;display:flex}.page-content{width:100%;max-width:var(--content-max-width);margin:0 auto;padding:32px 48px 48px}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.page-header-content{max-width:780px}.eyebrow{color:var(--physalia-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:600;line-height:1.4}.page-header h1{color:var(--physalia-text);letter-spacing:0;margin:0;font-size:22px;font-weight:600;line-height:1.3}.page-header p{max-width:680px;color:var(--physalia-muted);margin:8px 0 0;font-size:14px;font-weight:400;line-height:1.5}.connection-status{color:var(--physalia-muted);align-items:center;gap:8px;font-size:12px;font-weight:400;display:inline-flex}.status-dot{background:#5f795f;flex:0 0 7px;width:7px;height:7px}.status-badge{color:var(--physalia-muted);background:0 0;border:0;align-items:center;gap:8px;padding:0;font-size:12px;font-weight:400;display:inline-flex}.status-success .status-dot{background:#4a7a4a}.status-warning .status-dot{background:#a8791f}.status-error .status-dot{background:#a83a3a}.status-neutral .status-dot{background:var(--physalia-subtle)}.panel{border:1px solid var(--physalia-border);background:var(--physalia-surface)}.panel-header{padding:16px 16px 0}.panel-header h2{margin:0;font-size:16px;font-weight:600;line-height:1.4}.panel-header p{max-width:700px;color:var(--physalia-muted);margin:8px 0 0;font-size:14px;font-weight:400;line-height:1.5}.panel-content{padding:16px}.stat-card{border:1px solid var(--physalia-border);background:var(--physalia-surface);min-height:128px;padding:16px}button.stat-card{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit}button.stat-card:hover{border-color:var(--physalia-black);background:var(--physalia-border-dark)}.stat-card.is-active{border-color:var(--physalia-black);background:var(--physalia-black)}.stat-card.is-active:hover{background:var(--physalia-black);opacity:.86}.stat-card.is-active .card-label,.stat-card.is-active .card-value,.stat-card.is-active .card-description{color:var(--physalia-white)}.card-label{color:var(--physalia-muted);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:600;line-height:1.4}.card-value{color:var(--physalia-text);letter-spacing:0;margin-top:16px;font-size:32px;font-weight:400;line-height:1}.card-description{color:var(--physalia-muted);margin-top:8px;font-size:12px;font-weight:400;line-height:1.4}.dashboard-page{width:100%}.connection-banner{margin-bottom:var(--space-4);border:1px solid var(--physalia-border);background:var(--physalia-white);color:var(--physalia-muted);align-items:center;gap:8px;padding:12px 16px;font-size:12px;display:flex}.dashboard-section{margin-bottom:var(--space-5)}.section-heading{margin-bottom:var(--space-3)}.section-heading h2{margin:0;font-size:18px;font-weight:600;line-height:1.4}.section-heading p{max-width:760px;color:var(--physalia-muted);margin:8px 0 0;font-size:14px;font-weight:400;line-height:1.5}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.system-status{border:1px solid var(--physalia-border);background:var(--physalia-white);padding:24px}.system-status h2{margin:0;font-size:18px;font-weight:600;line-height:1.4}.system-status p{max-width:700px;color:var(--physalia-muted);margin:8px 0 0;font-size:14px;font-weight:400;line-height:1.5}.workflow-steps{counter-reset:workflow-step;flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.workflow-steps li{gap:16px;display:flex}.workflow-steps li:before{counter-increment:workflow-step;content:counter(workflow-step);border:1px solid var(--physalia-border-dark);height:24px;color:var(--physalia-muted);flex:0 0 24px;place-items:center;font-size:12px;font-weight:600;display:grid}.workflow-step-title{color:var(--physalia-text);font-size:14px;font-weight:600;line-height:1.4}.workflow-step-text{color:var(--physalia-muted);margin-top:2px;font-size:13px;font-weight:400;line-height:1.5}.module-page{width:100%}.module-status-card{border:1px solid var(--physalia-border);background:var(--physalia-white);padding:24px}.module-status-title{font-size:16px;font-weight:600;line-height:1.4}.module-status-text{max-width:700px;color:var(--physalia-muted);margin-top:8px;font-size:14px;font-weight:400;line-height:1.5}button{cursor:pointer}.primary-button,button.primary-button{border:1px solid var(--physalia-black);background:var(--physalia-black);color:var(--physalia-white);padding:10px 16px;font-size:14px;font-weight:400;line-height:1.4;transition:opacity .12s,background .12s}.primary-button:hover,button.primary-button:hover{opacity:.86}.primary-button:disabled,button.primary-button:disabled{cursor:wait;opacity:.5}.secondary-action{color:var(--physalia-text);text-underline-offset:3px;font-size:14px;font-weight:400;text-decoration:underline;text-decoration-thickness:1px}.secondary-action:hover{opacity:.65}.table-container{border:1px solid var(--physalia-border);background:var(--physalia-white);width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}thead{background:var(--physalia-white)}th{border-bottom:1px solid var(--physalia-border);color:var(--physalia-muted);letter-spacing:.06em;text-align:left;text-transform:uppercase;white-space:nowrap;padding:10px 12px;font-size:12px;font-weight:600;line-height:1.4}td{border-bottom:1px solid var(--physalia-border);color:var(--physalia-text);vertical-align:middle;padding:10px 12px;font-size:14px;font-weight:400;line-height:1.4}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--physalia-hover)}.form{flex-direction:column;gap:24px;display:flex}.form-field{flex-direction:column;gap:8px;display:flex}.form-field label{color:var(--physalia-text);font-size:14px;font-weight:600;line-height:1.4}.form-field span{color:var(--physalia-muted);font-size:12px;font-weight:500;line-height:1.4}.form-field input,.form-field textarea,.form-field select{border:1px solid var(--physalia-border-dark);background:var(--physalia-white);width:100%;min-height:44px;color:var(--physalia-text);border-radius:0;outline:none;padding:12px;font-size:14px;font-weight:400;line-height:1.4}.form-field input[type=checkbox]{cursor:pointer;border-width:1px;flex:none;width:18px;height:18px;min-height:0;padding:0}.form-field textarea{resize:vertical;min-height:120px;line-height:1.6}.form-grid{gap:var(--space-3) var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-field-full{grid-column:1/-1}.edit-form-actions{padding-top:var(--space-3);justify-content:flex-end;gap:12px;display:flex}.secondary-button,button.secondary-button{border:1px solid var(--physalia-black);color:var(--physalia-black);background:0 0;padding:10px 16px;font-size:14px;font-weight:400;line-height:1.4;transition:background .12s,opacity .12s}.secondary-button:hover,button.secondary-button:hover{background:var(--physalia-hover)}.secondary-button:disabled,button.secondary-button:disabled{cursor:wait;opacity:.5}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--physalia-text)}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--physalia-subtle)}.required{color:var(--physalia-muted);font-size:12px;font-weight:400}.form-error,.field-error{color:var(--physalia-text);font-size:12px;font-weight:400;line-height:1.5}.auth-loading{background:var(--physalia-background);min-height:100vh;color:var(--physalia-text);align-content:center;place-items:center;gap:8px;font-size:14px;font-weight:400;display:grid}.login-page{background:var(--physalia-background);place-items:center;min-height:100vh;padding:32px 24px;display:grid}.login-panel{border:1px solid var(--physalia-border);background:var(--physalia-white);width:100%;max-width:420px;padding:32px}.login-panel h1{color:var(--physalia-text);letter-spacing:0;margin:0;font-size:22px;font-weight:600;line-height:1.3}.login-description{color:var(--physalia-muted);margin:8px 0 24px;font-size:14px;font-weight:400;line-height:1.5}.login-form{flex-direction:column;gap:24px;display:flex}.login-form label{color:var(--physalia-text);letter-spacing:0;flex-direction:column;gap:8px;font-size:14px;font-weight:600;line-height:1.4;display:flex}.login-form input{border:1px solid var(--physalia-border-dark);background:var(--physalia-white);width:100%;color:var(--physalia-text);border-radius:0;outline:none;padding:12px;font-size:14px;font-weight:400}.login-form input:focus{border-color:var(--physalia-text)}.login-form button{border:1px solid var(--physalia-black);background:var(--physalia-black);width:100%;color:var(--physalia-white);cursor:pointer;letter-spacing:0;text-transform:none;border-radius:0;margin-top:0;padding:10px 16px;font-size:14px;font-weight:400;line-height:1.4}.login-form button:hover{opacity:.86}.login-form button:disabled{cursor:wait;opacity:.5}.login-error{border:1px solid var(--physalia-border);background:var(--physalia-background);color:var(--physalia-text);padding:12px;font-size:12px;font-weight:400;line-height:1.5}@media (width<=1100px){.page-content{padding-left:32px;padding-right:32px}}@media (width<=800px){:root{--sidebar-width:0px}.sidebar{border-right:0;border-bottom:1px solid var(--physalia-border);width:100%;position:static}.app-shell{display:block}.brand{padding:16px 24px}.sidebar-section{padding:16px}.navigation{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.sidebar-footer{padding:16px}.main-content{margin-left:0}.topbar{justify-content:flex-start;padding:16px 24px}.page-content{padding:24px 24px 32px}.page-header{flex-direction:column;gap:16px}}@media (width<=520px){.navigation{grid-template-columns:1fr}.page-content{padding-left:16px;padding-right:16px}.login-page{padding:24px 16px}.login-panel{padding:24px}}.role-group{margin-bottom:var(--space-3)}.role-group:last-child{margin-bottom:0}.role-group-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.role-group-heading h3{color:var(--physalia-muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:12px;font-weight:600;line-height:1.4}.construction-list{flex-direction:column;gap:16px;display:flex}.construction-card{border:1px solid var(--physalia-border);background:var(--physalia-white);padding:20px}.draggable-step{transition:opacity .15s,border-color .15s}.draggable-step.dragging{opacity:.4}.draggable-step.drag-over{border-color:var(--physalia-text);border-style:dashed}.drag-handle{cursor:grab;color:var(--physalia-muted);-webkit-user-select:none;user-select:none;padding:0 2px;font-size:16px;line-height:1.4}.drag-handle:active{cursor:grabbing}.modal-backdrop{z-index:1000;background:#14141280;justify-content:center;align-items:flex-start;padding:40px 20px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-content{border:1px solid var(--physalia-border-dark);background:var(--physalia-white);width:100%;max-width:720px;box-shadow:0 12px 32px #0000002e}.modal-content .modal-form{background:0 0;border:none;max-height:85vh;margin:0;overflow-y:auto}.preview-modal-content{max-width:640px;max-height:85vh;padding:24px;overflow-y:auto}.preview-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px;display:flex}.preview-section{border-top:1px solid var(--physalia-border);margin-top:20px;padding-top:16px}.preview-section h4{letter-spacing:.06em;text-transform:uppercase;color:var(--physalia-muted);margin:0 0 8px;font-size:13px;font-weight:600}.preview-list{flex-direction:column;gap:4px;margin:0;padding-left:20px;display:flex}.preview-list li{font-size:14px;line-height:1.5}.preview-status-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 20px;margin:0;padding:0;list-style:none;display:grid}.preview-status-list li{align-items:center;gap:6px;font-size:14px;display:flex}.preview-status-done{color:var(--physalia-text)}.preview-status-pending{color:var(--physalia-muted)}.construction-card-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.construction-card-title{font-size:15px;font-weight:600;line-height:1.4}.badge{border:1px solid var(--physalia-border-dark);color:var(--physalia-text);align-items:center;margin-left:8px;padding:2px 10px;font-size:12px;font-weight:500;line-height:1.6;display:inline-flex}.seam-card{flex-direction:column;gap:0;display:flex}.seam-card-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.seam-card-title{flex-wrap:wrap;align-items:center;font-size:16px;font-weight:600;line-height:1.4;display:flex}.seam-card-subline{color:var(--physalia-muted);margin-top:6px;font-size:13px;line-height:1.5}.badge-master{border-color:var(--physalia-black)}.badge-draft{color:var(--physalia-muted);border-style:dashed}.seam-card-artwork{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px;display:grid}.seam-artwork-frame-label{color:var(--physalia-muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:600;line-height:1.4}.seam-artwork-frame-box{aspect-ratio:4/3;border:1px solid var(--physalia-border);background:var(--physalia-hover);justify-content:center;align-items:center;display:flex;overflow:hidden}.seam-artwork-frame-box img{object-fit:contain;width:100%;height:100%}.seam-artwork-frame-empty{color:var(--physalia-subtle);text-align:center;padding:12px;font-size:12px;line-height:1.4}.seam-card-section{border-top:1px solid var(--physalia-border);margin-top:20px;padding-top:16px}.seam-card-section-label{color:var(--physalia-muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px;font-size:12px;font-weight:600;line-height:1.4}.seam-card-text{color:var(--physalia-text);margin:4px 0 0;font-size:13px;line-height:1.6}.seam-card-section-construction{background:var(--physalia-hover);border-top:none;padding:12px}.construction-detail-list{color:var(--physalia-text);grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 24px;margin:14px 0 0;padding:0;font-size:13px;list-style:none;display:grid}.construction-detail-list span{color:var(--physalia-muted);margin-right:6px}.construction-note{color:var(--physalia-muted);margin:10px 0 0;font-size:13px;line-height:1.5}.subsection{border-top:1px solid var(--physalia-border);margin-top:20px;padding-top:16px}.subsection-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.subsection-header h4{margin:0;font-size:13px;font-weight:600;line-height:1.4}.subsection-toggle{color:var(--physalia-text);font-size:13px;font-weight:600;line-height:1.4;text-decoration:none}.step-heading{color:var(--physalia-muted);letter-spacing:.08em;text-transform:uppercase;margin:24px 0 4px;font-size:12px;font-weight:600;line-height:1.4}.step-heading:first-child{margin-top:0}.step-hint{color:var(--physalia-subtle);margin:0 0 12px;font-size:13px;line-height:1.5}.field-hint{color:var(--physalia-subtle);margin:4px 0 0;font-size:12px;line-height:1.4}.field-readout{border:1px solid var(--physalia-border);background:var(--physalia-hover);color:var(--physalia-text);padding:12px;font-size:14px;line-height:1.4}.inline-panel{border:1px solid var(--physalia-border);background:var(--physalia-hover);margin-top:12px;padding:20px}.checkbox-field{align-items:center;flex-direction:row!important;gap:8px!important}.optional-tag{color:var(--physalia-subtle);text-transform:none;letter-spacing:0;font-weight:400}.link-button{color:var(--physalia-text);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;font-weight:400;text-decoration:underline;text-decoration-thickness:1px}.link-button:hover{opacity:.65}.link-button:disabled{cursor:wait;opacity:.5}
