:root{color:#182026;background:#eef2f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden}button,input,select{font:inherit}input,select,textarea{font-size:16px}.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh;width:100%}.sidebar{background:#17212b;color:#f7fbf4;padding:24px 18px;min-width:0}.brand{display:flex;align-items:center;gap:12px;margin-bottom:28px}.brand-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:0;background:transparent;color:#17212b;font-weight:800;overflow:visible;flex:0 0 auto}.brand-mark img{grid-area:1 / 1;width:100%;height:100%;object-fit:contain}.brand-mark img:not([hidden])+span{opacity:0}.brand-mark span{grid-area:1 / 1}.brand span,.screen-heading p{display:block;color:#6b746d;margin:4px 0 0}.sidebar .brand span{color:#c7d7cc;font-size:13px}.staff-box{display:grid;gap:6px;margin-top:24px;padding-top:18px;border-top:1px solid rgba(247,251,244,.18)}.staff-box span{color:#c7d7cc;font-size:12px;font-weight:800;text-transform:uppercase}.staff-box button{display:inline-flex;align-items:center;gap:8px;width:fit-content;min-height:34px;border:1px solid rgba(247,251,244,.3);border-radius:8px;background:transparent;color:#f7fbf4;cursor:pointer;font:inherit;font-weight:800;padding:0 10px}.nav{display:grid;gap:8px}.nav a{display:flex;align-items:center;gap:10px;width:100%;border:0;border-radius:8px;padding:12px;background:transparent;color:#dce8df;cursor:pointer;text-decoration:none;text-align:left}.nav a.active,.nav a:hover{background:#f7fbf4;color:#1d242b}.main{padding:28px;overflow-x:hidden;min-width:0}.screen{display:grid;gap:18px;max-width:1320px;margin:0 auto;min-width:0}.login-screen{display:grid;place-items:center;min-height:100vh;padding:24px;background:#eef2f5}.login-panel{width:min(420px,100%);border:1px solid #d9e0e5;border-radius:8px;background:#fff;box-shadow:0 14px 34px #17212b1a;padding:24px}.login-brand{margin-bottom:20px}.screen-heading,.panel-title-row,.action-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.heading-actions,.button-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}h1,h2{margin:0;letter-spacing:0}h1{font-size:30px;line-height:1.15}h2{font-size:18px}.two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.two-column.wide-left{grid-template-columns:minmax(0,.85fr) minmax(520px,1.35fr)}.panel{background:#fff;border:1px solid #d9e0e5;border-radius:8px;padding:18px;box-shadow:0 8px 24px #17212b0f;min-width:0}.panel h2{margin-bottom:14px}label{display:grid;gap:7px;min-width:0;color:#4c5852;font-size:13px;font-weight:700;margin-bottom:13px}input,select{width:100%;max-width:100%;min-width:0;min-height:42px;border:1px solid #cad4dc;border-radius:8px;background:#fbfcfa;color:#1d242b;font-weight:500;padding:0 12px}input[type=date]{display:block;-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=date]::-webkit-date-and-time-value{min-width:0;text-align:left}select[multiple]{min-width:190px;min-height:86px;padding:8px 10px}input[type=file]{display:flex;align-items:center;min-height:50px;padding:8px 12px;line-height:1}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%)}input[type=file]::file-selector-button{height:32px;margin:0 12px 0 0;border:1px solid #bac7c0;border-radius:8px;background:#fff;color:#24352f;cursor:pointer;font:inherit;font-weight:800}input:focus,select:focus{border-color:#18766f;outline:3px solid rgba(24,118,111,.14)}.input-action{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border-radius:8px;border:1px solid transparent;padding:0 15px;cursor:pointer;text-decoration:none;font-size:14px;font-weight:800;white-space:nowrap}.button-primary{background:#18766f;color:#fff}.button-secondary{background:#fff;border-color:#b9c6cf;color:#17212b}.button-ghost{background:transparent;border-color:#d3dbe1;color:#17212b}.button:hover:not(:disabled),.icon-button:hover:not(:disabled),.filter-buttons button:hover{transform:translateY(-1px);box-shadow:0 8px 18px #17212b1a}.button:disabled,.icon-button:disabled{cursor:not-allowed;opacity:.55}.icon-button{display:inline-grid;place-items:center;width:36px;height:36px;border:1px solid #cad4dc;border-radius:8px;background:#fff;color:#17212b;cursor:pointer}.metric-tile{min-width:150px;border-radius:8px;border:1px solid #e2d2a6;background:#fff7db;padding:12px 14px}.insight-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.metric-tile.inline{margin:14px 0}.metric-tile span{display:block;color:#6b746d;font-size:12px;font-weight:800;text-transform:uppercase}.metric-tile strong{display:block;margin-top:4px;font-size:21px}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 0}.panel-title-row+select{margin-top:10px}.profile-grid div{border:1px solid #e1e5e0;border-radius:8px;padding:10px}.profile-grid dt{color:#6b746d;font-size:12px;font-weight:900;text-transform:uppercase}.profile-grid dd{margin:4px 0 0;font-weight:800}.profile-edit-box{margin-bottom:0}.item-table{display:grid;gap:8px}.edit-box{display:grid;gap:12px;margin:14px 0;border:1px solid #d9e0e5;border-radius:8px;padding:12px}.edit-box h3{margin:0;font-size:15px}.edit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.table-head,.item-row{display:grid;grid-template-columns:64px minmax(0,1fr) 120px 150px 44px;gap:8px;align-items:center}.item-editor-head,.item-editor-row{grid-template-columns:52px minmax(180px,1fr) 160px 110px 110px}.table-head{color:#6b746d;font-size:12px;font-weight:900;text-transform:uppercase}.table-wrap{width:100%;overflow-x:auto}.table-actions{display:flex;gap:8px}.table-checkbox{display:inline-grid;width:18px;height:18px;min-height:18px;padding:0;accent-color:#18766f}.bulk-action-row{display:grid;grid-template-columns:minmax(150px,220px) auto minmax(90px,1fr);gap:10px;align-items:center;margin:12px 0}.compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-list{display:grid;gap:8px;margin:14px 0 0;padding:0;list-style:none}.workspace-list li{display:flex;align-items:center;gap:8px;border:1px solid #e4e9ed;border-radius:8px;background:#fff;padding:9px 10px;color:#24313b;font-size:13px;font-weight:800}.workspace-list svg{flex:0 0 auto;color:#18766f}.workspace-layout{display:grid;gap:18px}.workspace-asset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}.template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.template-card{display:grid;gap:10px;align-content:start;border:1px solid #d9e0e5;border-radius:8px;background:#f8fafb;padding:12px;min-width:0}.template-card>div:first-child,.label-with-icon{display:flex;align-items:center;gap:8px}.field-label-row{display:flex;align-items:center;gap:8px}.help-button{display:inline-grid;place-items:center;width:20px;height:20px;min-height:20px;border:1px solid #9eb0ba;border-radius:50%;background:#fff;color:#35535f;cursor:help;font:inherit;font-size:12px;font-weight:900;line-height:1;padding:0}.help-button:hover,.help-button:focus{border-color:#18766f;color:#0f5e58;outline:3px solid rgba(24,118,111,.14)}.template-card svg,.label-with-icon svg{flex:0 0 auto;color:#18766f}.template-card span{color:#637069;font-size:13px;font-weight:800;line-height:1.4}.blueprint-grid,.accounting-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.wide-field{grid-column:span 2}.asset-upload{display:grid;gap:10px;align-content:start;border:1px solid #e1e5e0;border-radius:8px;padding:12px}.asset-upload>span{color:#4c5852;font-size:13px;font-weight:900}.asset-preview{display:grid;place-items:center;aspect-ratio:3 / 2;border:1px dashed #b9c6cf;border-radius:8px;background:#f8fafb;color:#637069;overflow:hidden}.asset-preview img{max-width:100%;max-height:100%;object-fit:contain}.asset-upload-button{margin:0;width:fit-content}.history-title-row{margin:12px 0}.history-editor{background:#f8fafb;max-width:100%;overflow:hidden}.history-editor label,.history-editor input,.history-editor select{min-width:0}.history-editor .edit-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.history-money-grid{grid-template-columns:minmax(180px,1.5fr) minmax(140px,1fr) repeat(2,minmax(96px,.75fr))}.invoice-total-box{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end;margin-top:14px}.invoice-total-box>div{border:1px solid #e2d2a6;border-radius:8px;background:#fff7db;padding:10px 12px}.invoice-total-box span{display:block;color:#6b746d;font-size:12px;font-weight:900;text-transform:uppercase}.invoice-total-box strong{display:block;margin-top:4px;font-size:20px}.status-pill{display:inline-flex;align-items:center;min-height:28px;border-radius:8px;padding:0 9px;background:#e8edf1;color:#24313b;font-size:12px;font-weight:900;white-space:nowrap}.status-completed{background:#dff7e8;color:#116149}.status-processing,.status-pending-payment,.status-on-hold,.status-in-warehouse{background:#fff3c7;color:#785500}.status-sent,.status-graded{background:#dfeeff;color:#1d4f86}.status-return{background:#eadff7;color:#57348a}.status-cancelled,.status-refunded{background:#f6d9d7;color:#8d2f29}.photo-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.photo-drop-zone{display:grid;place-items:center;gap:8px;min-height:138px;border:2px dashed #b9c6cf;border-radius:8px;background:#f8fafb;color:#17212b;cursor:pointer;margin-top:10px;padding:18px;text-align:center}.photo-drop-zone.active,.photo-drop-zone:hover{border-color:#18766f;background:#e8f6f4}.photo-drop-zone span{color:#637069;font-size:13px;font-weight:800}.photo-preview-cell{display:grid;place-items:center;position:relative;min-height:180px;border:1px solid #cad4dc;border-radius:8px;background:#f8fafb;padding:10px}.photo-preview-cell+.photo-preview-cell{border-left:1px solid #cad4dc}.photo-preview-cell img{max-width:100%;max-height:220px;object-fit:contain}.photo-remove{position:absolute;top:8px;right:8px}.album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.album-card{position:relative;display:grid;gap:10px;border:1px solid #d9e0e5;border-radius:8px;background:#fff;padding:10px;min-width:0}.album-card>a:first-child{display:grid;place-items:center;aspect-ratio:4 / 3;border-radius:8px;background:#f8fafb;overflow:hidden}.album-card img{width:100%;height:100%;object-fit:contain}.album-card div{display:grid;gap:3px;min-width:0}.album-card strong,.album-card span{overflow-wrap:anywhere}.album-card span{color:#637069;font-size:13px;font-weight:800}.album-open-link{position:absolute;top:18px;right:18px;display:grid;place-items:center;width:34px;height:34px;border:1px solid #cad4dc;border-radius:8px;background:#fff;color:#17212b}.album-delete-button{position:absolute;top:58px;right:18px;display:grid;place-items:center;width:34px;height:34px;border:1px solid #f0c2be;border-radius:8px;background:#fff;color:#9b2c21;cursor:pointer}.album-delete-button:hover{background:#fff0ee}.grading-screen{max-width:1180px}.grading-layout{align-items:stretch;gap:20px;margin-top:18px}.grading-left-column{display:grid;grid-template-rows:minmax(420px,1fr) auto;gap:18px;min-height:100%}.grading-photo-panel,.submission-entry-panel{display:flex;flex-direction:column}.submission-entry-panel{min-height:620px}.tour-management-panel{display:grid;gap:12px;align-content:start}.segmented-control{display:inline-flex;align-items:center;gap:4px;min-height:38px;border:1px solid #cad4dc;border-radius:8px;background:#f8fafb;padding:3px}.segmented-control button{min-width:58px;min-height:30px;border:0;border-radius:6px;background:transparent;color:#4c5852;cursor:pointer;font:inherit;font-size:13px;font-weight:900}.segmented-control button.active{background:#18766f;color:#fff}.grading-photo-frame{position:relative;display:grid;place-items:center;flex:1;min-height:330px;width:100%;margin:14px 0;border:1px dashed #b9c6cf;border-radius:8px;background:#f8fafb;overflow:hidden}.photo-side-label{position:absolute;top:8px;left:8px;z-index:1;display:inline-flex;align-items:center;min-height:26px;border:1px solid #cad4dc;border-radius:8px;background:#ffffffeb;color:#17212b;font-size:12px;font-weight:900;padding:0 8px}.grading-photo-frame.drag-active{border-color:#18766f;background:#e8f6f4;outline:3px solid rgba(24,118,111,.14)}.photo-preview-stack{display:grid;width:100%;height:100%}.photo-preview-stack.has-two{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-preview-stack figure{position:relative;display:grid;place-items:center;min-width:0;height:100%;margin:0;padding:8px}.photo-preview-stack figure+figure{border-left:1px dashed #cad4dc}.photo-delete-button{position:absolute;top:8px;right:8px;z-index:2;display:grid;place-items:center;width:30px;height:30px;border:1px solid #cad4dc;border-radius:8px;background:#fff;color:#17212b;cursor:pointer}.photo-delete-button:hover{border-color:#9f2f27;color:#9f2f27}.photo-preview-stack img{width:100%;height:100%;object-fit:contain}.grading-photo-frame>div{display:grid;justify-items:center;gap:8px;max-width:320px;color:#637069;padding:18px;text-align:center}.grading-photo-frame strong{color:#17212b}.grading-photo-frame span{font-size:13px;font-weight:800}.grading-result{display:grid;gap:14px}.grading-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end;margin-top:12px}.grading-form-grid label{margin-bottom:0}.tour-setup{display:grid;grid-template-columns:minmax(190px,320px) auto;gap:10px;align-items:end;border:1px solid #e1e5e0;border-radius:8px;background:#f8fafb;padding:12px}.tour-setup .button{min-height:42px;margin:0;padding-inline:16px}.tour-setup label{margin-bottom:0}.tour-chip-row{display:flex;flex-wrap:wrap;gap:8px}.tour-chip-row button{display:inline-flex;align-items:center;gap:8px;min-height:36px;border:1px solid #cad4dc;border-radius:8px;background:#fff;color:#17212b;cursor:pointer;font:inherit;padding:6px 10px}.tour-chip-row button.active,.tour-chip-row button:hover{border-color:#18766f;background:#e8f6f4}.tour-chip-row span{color:#637069;font-size:12px;font-weight:800}.tour-list-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px}.tour-list-controls select{width:min(220px,42vw);min-height:36px;background:#fff}.grading-recognition-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.grading-recognition-summary>div{border:1px solid #e1e5e0;border-radius:8px;padding:10px}.grading-recognition-summary .muted-text{grid-column:1 / -1;margin:0}.compact-empty{margin:14px 0}.grading-tour-table{margin-top:12px}.grading-tour-table td:nth-child(2){min-width:360px;font-weight:700}.grading-tour-table td:nth-child(5){min-width:170px}.client-match-list{display:grid;gap:8px;margin-bottom:0}.client-match-list button{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;border:1px solid #cad4dc;border-radius:8px;background:#fff;color:#17212b;cursor:pointer;font:inherit;padding:8px 10px;text-align:left}.client-match-list button:hover{border-color:#18766f;background:#e8f6f4}.client-match-list span{color:#637069;font-size:13px;font-weight:800}.empty-state{display:flex;align-items:center;gap:10px;border:1px dashed #b9c6cf;border-radius:8px;background:#f8fafb;color:#637069;padding:18px;font-weight:800}table{width:100%;min-width:620px;border-collapse:collapse}th,td{border-bottom:1px solid #e6e9e5;padding:10px 8px;text-align:left;vertical-align:middle;font-size:14px}th{color:#637069;font-size:12px;text-transform:uppercase}.search-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.result-box{border:1px solid #d9e0e5;border-radius:8px;padding:12px;min-height:96px}.result-box ul{margin:10px 0 0;padding-left:0;list-style:none}.result-box li{margin:6px 0;color:#3a4640;font-size:14px}.result-link{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;border:1px solid transparent;border-radius:8px;background:#f8fafb;color:#17212b;cursor:pointer;padding:8px 10px;text-align:left;text-decoration:none}.result-link:hover{border-color:#b9c6cf;background:#fff}.result-link span{min-width:0;overflow-wrap:anywhere}.client-profile-screen{max-width:1500px}.profile-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.profile-grid-wide{grid-template-columns:repeat(3,minmax(0,1fr))}.status-text{color:#35535f;font-weight:800}.muted-text{color:#7b8580;font-weight:800}.error-text{color:#9f2f27}.filter-buttons{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:640px}.filter-buttons button{display:inline-flex;align-items:center;justify-content:flex-start;gap:6px;min-height:34px;border:1px solid #cad4dc;border-radius:8px;background:#fff;color:#24313b;cursor:pointer;font:inherit;font-size:13px;font-weight:800;line-height:1.25;text-align:left;white-space:normal;overflow-wrap:anywhere;padding:0 10px}.filter-buttons button svg{flex:0 0 auto}.filter-buttons button.active{border-color:#18766f;background:#e3f4f1;color:#0f5e58}.import-button{margin:0;display:inline-flex;color:#17212b;font-size:14px;line-height:1}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;color:#637069;font-size:13px;font-weight:800}.pagination div{display:flex;gap:8px}@media(max-width:900px){.app-shell{grid-template-columns:76px minmax(0,1fr)}.sidebar{position:sticky;top:0;z-index:2;display:grid;grid-template-rows:auto 1fr auto;align-self:start;height:100dvh;padding:12px 8px;border-right:1px solid #d9e0e5;background:#fbfcfa;color:#17212b}.brand{justify-content:center;margin-bottom:12px}.brand>div:not(.brand-mark),.nav a span,.staff-box>span,.staff-box>strong,.staff-box button span{display:none}.brand-mark{width:44px;height:44px;border-radius:0;background:transparent;color:#17212b;font-size:16px}.nav{align-content:start;grid-template-columns:1fr;gap:10px;padding-top:14px}.nav a{justify-content:center;min-height:48px;padding:0;color:#17212b}.nav a.active,.nav a:hover{background:#dff7e8;color:#17212b}.staff-box{justify-items:center;margin-top:0;padding-top:12px;border-top-color:#e2e7ea}.staff-box button{display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0;border-color:#d9e0e5;background:#fff;color:#17212b}.main{padding:16px 14px}.screen-heading,.panel-title-row,.action-row{align-items:stretch;flex-direction:column}.heading-actions,.button-row,.filter-buttons{align-items:stretch;justify-content:stretch}.heading-actions>*,.button-row>*,.filter-buttons button{width:100%}.two-column,.two-column.wide-left,.edit-grid,.grading-form-grid,.tour-setup,.grading-recognition-summary,.search-grid,.insight-grid,.profile-summary-grid,.profile-grid,.photo-preview-grid,.workspace-asset-grid,.template-grid,.blueprint-grid,.accounting-grid{grid-template-columns:1fr}.wide-field{grid-column:auto}.grading-layout{align-items:start;gap:16px}.grading-left-column{grid-template-rows:auto auto;gap:16px}.submission-entry-panel{min-height:0}.grading-photo-frame{flex:none;min-height:280px}.tour-list-controls,.tour-list-controls select{width:100%}.photo-preview-cell+.photo-preview-cell{border-top:1px solid #cad4dc;border-left:0}.item-table{gap:10px}.item-table .table-head{display:none}.item-row,.item-editor-row{grid-template-columns:40px minmax(0,1fr);gap:10px;align-items:start;border:1px solid #e1e5e0;border-radius:8px;padding:10px}.item-row>span,.item-editor-row>span{grid-row:1 / span 4;min-height:42px;display:grid;place-items:center;color:#17212b;font-weight:800}.item-row>input,.item-row>select,.item-row>.icon-button,.item-editor-row>input,.item-editor-row>select,.item-editor-row>.icon-button{grid-column:2}.item-row .icon-button,.item-editor-row .icon-button{width:42px}.history-money-grid,.input-action,.invoice-total-box,.bulk-action-row,.compact-grid{grid-template-columns:1fr}h1{font-size:28px}.screen-heading p{overflow-wrap:anywhere}}@media(max-width:520px){.app-shell{grid-template-columns:64px minmax(0,1fr)}.sidebar{padding:10px 7px}.brand-mark,.staff-box button{width:42px;height:42px;min-height:42px}.nav a{min-height:46px}.main{padding:14px 12px 24px}.screen{gap:14px}h1{font-size:25px}.panel,.metric-tile{padding:16px}.button{width:100%;min-width:0;padding:0 12px}.button span{min-width:0;overflow:hidden;text-overflow:ellipsis}}
