:root{--bg:#ffffff;--paper:#ffffff;--ink:#242424;--muted:#555555;--line:#d6d6d6;--accent:#292929;--soft:#f3f3f3;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;--serif:var(--sans);font-family:var(--sans);font-size:16px;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:var(--accent)}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b1b1b1;outline-offset:3px}svg{width:20px;height:20px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}button{border:0;background:none;color:inherit}h1,h2,h3,p{margin:0}small{font-size:12px}.boot{height:100vh;display:grid;place-content:center;text-align:center;gap:12px}.brand-mark{font-size:44px;color:var(--accent)}.shell{display:grid;grid-template-columns:225px minmax(0,1fr);min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:225px;background:#f1f1f1;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:39px 22px 23px;z-index:20}.brand{display:flex;align-items:center;gap:11px;padding:0 12px;text-decoration:none;color:var(--ink)}.brand svg{width:34px;height:37px;stroke-width:1.2}.brand strong{font-family:var(--serif);font-size:30px;letter-spacing:-1px;font-weight:400}.brand-caption{padding:9px 12px 39px;font-size:9px;letter-spacing:2.1px;color:#858585}.nav-label{font-size:9px;font-weight:650;letter-spacing:1.8px;color:#909090;padding:10px 14px 12px}.nav-item{width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:13px 14px;margin-bottom:5px;border-radius:6px;font-size:12px;color:#747474;min-height:44px}.nav-item svg{width:18px}.nav-item:hover{background:#eaeaea}.nav-item.active{color:var(--accent);background:#e5e5e5;font-weight:600}.nav-item .nav-count{margin-left:auto;font-size:10px;min-width:20px;padding:2px 5px;text-align:center;border-radius:4px;background:#f5f5f5}.sidebar-bottom{margin-top:auto}.sidebar-note{border-top:1px solid #e0e0e0;margin:25px 12px 0;padding-top:22px;line-height:1.65;font-size:10px;color:#8c8c8c}.sidebar-note span{display:flex;align-items:center;gap:6px;color:#727272;margin-bottom:5px}.sidebar-note svg{width:13px;height:13px}.main{grid-column:2;min-width:0}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 46px;gap:12px}.breadcrumb{display:flex;align-items:center;gap:13px;font-size:11px;color:#919191}.breadcrumb b{font-weight:450;color:#525252}.breadcrumb svg{width:12px}.top-actions{display:flex;gap:22px;align-items:center}.save-state{display:flex;align-items:center;gap:7px;font-size:10px;color:#838383;white-space:nowrap}.save-state .dot{width:5px;height:5px;background:#828282;border-radius:50%}.save-state.error{color:#5c5c5c}.save-state.error .dot{background:#6e6e6e}.avatar{height:30px;width:30px;border:1px solid #dbdbdb;border-radius:50%;font-family:var(--serif);font-size:13px;background:#ebebeb;color:#777777}.content{padding:37px 46px 22px;max-width:1600px;margin:auto}.eyebrow{font-size:9px;color:#8e8e8e;letter-spacing:2px;font-weight:500;margin-bottom:13px}.heading-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.heading-row h1{font:400 39px/1.15 var(--serif);letter-spacing:-1.3px}.subtitle{color:var(--muted);font-size:12px;line-height:1.7;margin-top:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:40px;padding:10px 17px;border-radius:5px;background:var(--paper);border:1px solid var(--line);font-size:11px;font-weight:550;white-space:nowrap;text-decoration:none}.btn svg{width:15px;height:15px}.btn:hover{background:#f2f2f2}.btn.primary{background:var(--accent);color:#ffffff;border-color:var(--accent)}.btn.primary:hover{background:#343434}.btn.danger{color:#5a5a5a}.btn.subtle{border:0;background:transparent;color:var(--muted);padding:7px}.icon-btn{display:inline-grid;place-content:center;width:35px;height:35px;border:1px solid var(--line);border-radius:5px;background:#ffffff}.icon-btn svg{width:17px;height:17px}.icon-btn:hover{background:var(--soft)}.stats{display:grid;grid-template-columns:repeat(4,1fr);margin:33px 0 30px;padding:22px 0 21px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stat{border-right:1px solid var(--line);padding:0 25px}.stat:first-child{padding-left:0}.stat:last-child{border:0}.stat-top{display:flex;align-items:center;gap:7px;font-size:10px;color:#8d8d8d}.stat-top i{display:inline-block;width:5px;height:5px;background:#b2b2b2;border-radius:50%}.stat-top i.process{background:#a4a4a4}.stat-top i.finished{background:#8b8b8b}.stat-value{display:flex;align-items:baseline;gap:11px;margin-top:9px}.stat-value strong{font-size:26px;font-weight:450;letter-spacing:-1px}.stat-value span{font-size:9px;color:#989898}.catalog-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:21px}.tabs{display:flex;align-items:center;gap:2px;background:#eeeeee;border:1px solid #e7e7e7;border-radius:6px;padding:3px}.tab{font-size:10px;color:#858585;min-height:32px;padding:7px 13px;border-radius:4px;display:flex;align-items:center;gap:8px}.tab.active{background:#ffffff;color:#4c4c4c;box-shadow:0 1px 3px #3333330a}.tab span{font-size:9px;opacity:.65}.tools-right{display:flex;align-items:center;gap:10px}.search{display:flex;align-items:center;gap:8px;background:#ffffff;border:1px solid var(--line);border-radius:5px;padding:9px 12px;min-height:40px}.search svg{width:15px;height:15px;color:#949494}.search input{width:176px;border:0;outline:none;font-size:10px;background:transparent;color:var(--ink)}.search input::placeholder{color:#9f9f9f}.view-toggle{display:flex;border:1px solid var(--line);border-radius:5px;padding:2px;background:#ffffff}.view-toggle button{display:grid;place-content:center;width:30px;height:32px;color:#9f9f9f;border-radius:3px}.view-toggle button svg{width:15px;height:15px}.view-toggle button.active{background:#efefef;color:var(--accent)}.demo-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;color:#858585;margin-bottom:16px;padding:10px 13px;background:#eeeeee;border:1px solid #e4e4e4;border-radius:5px}.demo-bar span{line-height:1.6}.demo-bar button{font-size:10px;text-decoration:underline;white-space:nowrap}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px 20px}.stone-card{position:relative;background:#ffffff;border:1px solid #e6e6e6;border-radius:7px;overflow:hidden;text-align:left;padding:0;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;width:100%}.stone-card:hover{transform:translateY(-3px);box-shadow:0 9px 20px #34343410}.card-image{position:relative;height:222px;background:#ebebeb;overflow:hidden;display:flex;align-items:center;justify-content:center}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.stone-card:hover img{transform:scale(1.035)}.card-image .placeholder{opacity:.25}.card-image .placeholder svg{width:70px;height:70px;stroke-width:.7}.card-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#21212112,transparent 35%);pointer-events:none}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:4px;padding:6px 9px;font-size:8px;font-weight:500;letter-spacing:.05px;background:#f3f3f3;color:#727272;white-space:nowrap}.badge:before{content:'';width:4px;height:4px;background:#a1a1a1;border-radius:50%}.badge.process{background:#f0f0f0;color:#838383}.badge.process:before{background:#989898}.badge.finished{background:#efefef;color:#707070}.badge.finished:before{background:#909090}.card-image .badge{position:absolute;top:13px;right:13px;z-index:1;background:#f7f7f7f2;backdrop-filter:blur(8px)}.card-image .badge.process{background:#f5f5f5ef}.card-image .badge.finished{background:#f4f4f4f0}.photo-code{position:absolute;left:14px;bottom:13px;z-index:1;background:#fffffff0;padding:4px 7px;border-radius:3px;letter-spacing:.8px;color:#6f6f6f;font-size:8px}.card-body{padding:18px 19px 15px;flex:1}.card-body h2{font:400 21px/1.2 var(--serif);letter-spacing:-.4px}.card-description{color:#9d9d9d;font-size:9px;margin-top:5px;min-height:12px}.card-meta{display:flex;justify-content:space-between;margin-top:20px;gap:10px}.card-meta label{font-size:8px;letter-spacing:.6px;text-transform:uppercase;display:block;color:#9d9d9d;margin-bottom:5px}.card-meta strong{font-size:12px;font-weight:450}.card-meta strong small{font-size:9px;color:#9e9e9e;font-weight:400;margin-left:4px}.card-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #efefef;margin-top:16px;padding-top:12px;font-size:9px;color:#9d9d9d}.card-bottom span{display:flex;gap:5px;align-items:center}.card-bottom svg{width:12px;height:12px}.card-bottom>svg{color:#757575}.collection-footer{display:flex;align-items:center;justify-content:space-between;margin-top:24px;padding:0 0 8px;color:#a3a3a3;font-size:9px;gap:15px}.collection-footer a{color:#9b9b9b;text-decoration:none}.collection-footer span{display:flex;align-items:center;gap:6px}.collection-footer svg{width:12px;height:12px}.grid.list{grid-template-columns:1fr}.grid.list .stone-card{display:grid;grid-template-columns:165px 1fr}.grid.list .card-image{height:170px}.grid.list .card-body{padding:19px 24px}.grid.list .card-meta{margin-top:12px;max-width:400px}.grid.list .card-description{display:none}.empty{padding:65px 20px;text-align:center;border:1px dashed #d5d5d5;border-radius:8px;color:var(--muted);grid-column:1/-1}.empty svg{width:42px;height:42px;color:#b2b2b2;margin-bottom:15px}.empty h2{font:27px var(--serif);color:var(--ink);margin-bottom:10px}.empty p{font-size:12px;margin-bottom:20px}.detail-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:21px}.back{font-size:11px;color:var(--muted);display:flex;gap:7px;align-items:center}.back svg{width:14px}.detail-title{display:flex;align-items:center;gap:14px;margin:12px 0 7px}.detail-title h1{font:38px var(--serif);letter-spacing:-1px}.detail-code{font-size:10px;letter-spacing:1px;color:#949494}.detail-actions{display:flex;gap:8px}.stage-nav{display:flex;border-bottom:1px solid var(--line);margin:29px 0 26px;gap:28px}.stage-nav button{display:flex;align-items:center;gap:9px;font-size:11px;padding:15px 0;border-bottom:2px solid transparent;color:#919191}.stage-nav button.active{color:var(--accent);border-color:var(--accent)}.step-number{font-size:9px;display:grid;place-content:center;width:21px;height:21px;border:1px solid #dcdcdc;border-radius:50%}.active .step-number{background:var(--accent);color:#ffffff;border-color:var(--accent)}.detail-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px;align-items:start}.panel{background:#ffffff;border:1px solid var(--line);border-radius:7px;padding:25px}.panel+.panel{margin-top:21px}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:22px}.panel h2{font:22px var(--serif);letter-spacing:-.4px}.panel .intro{font-size:11px;color:var(--muted);line-height:1.7;margin:-12px 0 21px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px 16px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field.full{grid-column:1/-1}.field label{font-size:10px;font-weight:500;color:#767676}.field .hint{font-size:9px;line-height:1.6;color:#9e9e9e}.field input,.field select,.field textarea,.settings-input{width:100%;border:1px solid #e3e3e3;border-radius:4px;padding:11px 12px;background:#fcfcfc;min-height:40px;color:var(--ink);font-size:12px}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid #bfbfbf;outline-offset:1px;background:#ffffff}.field input[readonly]{color:#979797;background:#f3f3f3}.field textarea{resize:vertical;min-height:100px;line-height:1.6}.input-unit{position:relative}.input-unit input{padding-right:45px}.input-unit span{position:absolute;right:12px;top:12px;color:#9e9e9e;font-size:10px}.computed{padding:14px;background:#f3f3f3;border-radius:5px;font-size:11px;color:#7f7f7f;display:flex;align-items:center;justify-content:space-between;gap:12px;grid-column:1/-1}.computed strong{font-size:15px;color:var(--accent);font-weight:500}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.gallery figure{margin:0;position:relative}.gallery img{display:block;width:100%;height:150px;object-fit:cover;border-radius:5px;background:#f0f0f0;cursor:zoom-in}.gallery figure:first-child{grid-column:1/-1}.gallery figure:first-child img{height:280px}.gallery .remove-photo{position:absolute;right:7px;top:7px;color:#ffffff;background:#303030a1;width:25px;height:25px;border-radius:50%;font-size:15px;display:grid;place-content:center}.upload{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;cursor:pointer;border:1px dashed #d4d4d4;background:#f8f8f8;padding:28px 12px;border-radius:5px;text-align:center;min-height:140px;grid-column:1/-1;font-size:11px;color:#7d7d7d}.upload svg{width:25px;height:25px;stroke-width:1}.upload small{font-size:9px;color:#9f9f9f}.upload input{position:absolute;width:1px;height:1px;opacity:0}.upload:focus-within{outline:3px solid #b7b7b7}.total-time{padding:25px;background:#eeeeee;border:1px solid #e2e2e2;border-radius:7px;margin-bottom:20px}.total-time label{font-size:9px;color:#8b8b8b;letter-spacing:1.3px}.total-time strong{display:block;font:36px var(--serif);letter-spacing:-1px;color:#4e4e4e;margin-top:9px}.total-time p{font-size:10px;color:#919191;margin-top:8px}.session{padding:18px 0;border-bottom:1px solid var(--line);display:flex;gap:14px}.session:last-child{border-bottom:0;padding-bottom:0}.session-icon{width:32px;height:32px;display:grid;place-content:center;background:#f2f2f2;border-radius:50%;color:#909090;flex-shrink:0}.session-icon svg{width:15px}.session-body{flex:1;min-width:0}.session-body h3{font-size:11px;font-weight:500}.session-body p{font-size:11px;color:#919191;line-height:1.7;margin-top:7px;white-space:pre-wrap;overflow-wrap:anywhere}.session-body small{display:block;color:#9e9e9e;font-size:9px;margin-top:5px}.session-actions{display:flex;gap:3px}.session-actions button{padding:4px;color:#979797;align-self:flex-start}.session-actions svg{width:14px;height:14px}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:18px 15px}.metric{padding-bottom:13px;border-bottom:1px solid var(--line)}.metric label{font-size:9px;color:#959595;display:block;margin-bottom:8px}.metric strong{font-size:19px;font-weight:450}.metric small{font-size:9px;color:#9e9e9e}.margin-card{padding:19px;background:#f0f0f0;border-radius:6px;margin-top:21px}.margin-card label{font-size:10px;color:#878787}.margin-card strong{display:block;font:31px var(--serif);margin:8px 0}.margin-card p{font-size:9px;color:#969696;line-height:1.7}.check{display:flex;align-items:center;gap:9px;font-size:11px;color:#797979}.check input{accent-color:var(--accent);width:16px;height:16px}.validation{font-size:11px;line-height:1.6;color:#5e5e5e;min-height:0}.validation:not(:empty){padding:11px;background:#f2f2f2;border-radius:4px;margin:15px 0}.history{margin-top:20px}.history summary{cursor:pointer;font-size:11px;color:#8f8f8f}.history ul{list-style:none;padding:0;font-size:10px;color:#9a9a9a;line-height:1.8}.history li{padding:7px 0;border-bottom:1px solid var(--line)}dialog{color:var(--ink);border:1px solid var(--line);border-radius:10px;box-shadow:0 20px 100px #2d2d2d24;background:var(--bg);padding:0;width:min(540px,calc(100vw - 28px));max-height:90dvh}dialog::backdrop{background:#2929294d;backdrop-filter:blur(4px)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:25px 27px 20px;border-bottom:1px solid var(--line)}.modal-head h2{font:27px var(--serif);letter-spacing:-.5px}.modal-head button{color:#929292;padding:3px}.modal-body{padding:25px 27px}.modal-body .subtitle{margin-top:0;margin-bottom:23px}.modal-foot{display:flex;gap:9px;justify-content:flex-end;padding:20px 27px;border-top:1px solid var(--line)}dialog.wide{width:min(680px,calc(100vw - 28px))}dialog.lightbox{width:min(950px,calc(100vw - 28px));background:#252525}dialog.lightbox img{display:block;width:100%;max-height:75dvh;object-fit:contain}.lightbox button{position:absolute;right:12px;top:12px;background:#ffffff99;border-radius:50%;padding:6px}.settings-section+.settings-section{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.settings-section h3{font-size:12px;font-weight:600;margin-bottom:10px}.settings-section p{font-size:11px;color:#939393;line-height:1.7;margin-bottom:15px}.settings-section .btn{font-size:10px}.settings-buttons{display:flex;gap:9px;flex-wrap:wrap}.cloud-state{font-size:10px;line-height:1.8;margin-bottom:14px;background:#eeeeee;padding:12px;border-radius:5px}.toast{position:fixed;left:calc(50% + 100px);transform:translate(-50%,20px);bottom:25px;z-index:100;background:#434343;color:#ffffff;padding:13px 20px;border-radius:6px;font-size:11px;box-shadow:0 5px 20px #34343424;opacity:0;pointer-events:none;transition:.2s;max-width:min(500px,85vw);line-height:1.6}.toast.show{opacity:1;transform:translate(-50%,0)}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:30px 0}.summary-grid .panel h3{font-size:10px;color:#959595;font-weight:450;margin-bottom:15px}.summary-grid strong{font:34px var(--serif)}.summary-grid p{font-size:10px;color:var(--muted);margin-top:10px}.summary-table{width:100%;border-collapse:collapse;font-size:11px}.summary-table th{text-align:left;font-weight:500;color:#939393;font-size:9px;letter-spacing:.4px;padding:13px 10px;border-bottom:1px solid var(--line)}.summary-table td{padding:16px 10px;border-bottom:1px solid var(--line)}.summary-table tr[data-id]{cursor:pointer}.summary-table tr[data-id]:hover{background:#f5f5f5}.mobile-menu{display:none}.mobile-overlay{display:none}.muted{color:var(--muted)}.spacer{height:15px}.print-document{display:none}.install-help{font-size:10px;line-height:1.7;color:var(--muted)}
@media(min-width:1500px){.card-image{height:280px}.grid{gap:25px}.content{padding-top:45px}.sidebar{width:245px}.shell{grid-template-columns:245px 1fr}}
@media(max-width:1170px){.sidebar{width:195px;padding-left:15px;padding-right:15px}.shell{grid-template-columns:195px 1fr}.content{padding:30px}.topbar{padding:0 30px}.card-image{height:190px}.tabs .tab{padding:7px 9px}.search input{width:150px}.tools-right{flex:1;justify-content:flex-end}.heading-row h1{font-size:35px}.card-meta strong small{display:block;margin:4px 0 0}.detail-grid{grid-template-columns:1fr 1fr;gap:17px}.panel{padding:20px}.stage-nav{gap:20px}}
@media(max-width:950px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-image{height:225px}.catalog-tools{gap:15px}.tools-right{flex:none;margin-left:auto}.search input{width:180px}.heading-row{align-items:flex-start}.heading-row h1{font-size:33px}.detail-grid{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(3,1fr)}.gallery figure:first-child{grid-column:auto}.gallery figure:first-child img{height:150px}.detail-actions{flex-wrap:wrap;justify-content:flex-end}.summary-grid{grid-template-columns:1fr}.summary-grid .panel{margin:0}.summary-table{min-width:650px}.table-scroll{overflow:auto}}
@media(max-width:700px){.shell{display:block}.sidebar{transform:translateX(-100%);transition:.2s;width:225px}.sidebar.open{transform:translateX(0)}.mobile-overlay.show{display:block;position:fixed;inset:0;z-index:19;background:#26262655}.mobile-menu{display:grid;place-content:center;color:#7e7e7e;margin-right:7px}.topbar{height:65px;padding:0 20px}.breadcrumb{gap:8px;font-size:10px}.top-actions{gap:12px}.save-state{font-size:9px}.content{padding:25px 20px}.eyebrow{font-size:8px;letter-spacing:1.6px;margin-bottom:11px}.heading-row h1{font-size:31px}.heading-row{gap:12px}.heading-row .btn{padding:10px 12px;font-size:10px}.subtitle{font-size:11px;max-width:260px}.stats{margin:25px 0 21px;padding:17px 0}.stat{padding:0 13px}.stat-top{font-size:8px;gap:5px}.stat-value strong{font-size:23px}.stat-value span{display:none}.stat-value{margin-top:8px}.catalog-tools{gap:12px;margin-bottom:16px}.tabs{width:100%;justify-content:space-between}.tab{flex:1;justify-content:center;font-size:9px;padding:7px 8px;gap:6px}.tools-right{width:100%}.search{flex:1}.search input{width:100%;font-size:11px}.grid{gap:17px 13px}.card-image{height:180px}.card-body{padding:14px 13px 11px}.card-body h2{font-size:19px}.card-description{font-size:8px;line-height:1.5}.card-meta{margin-top:15px;gap:5px}.card-meta label{font-size:7px;letter-spacing:.2px}.card-meta strong{font-size:11px}.card-meta strong small{font-size:8px}.card-bottom{font-size:8px;margin-top:12px;padding-top:10px}.card-bottom span{max-width:85%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:block}.card-bottom span svg{display:none}.card-image .badge{top:9px;right:9px;font-size:7px;padding:5px 7px}.photo-code{left:9px;bottom:9px;font-size:7px}.demo-bar{font-size:9px;padding:9px 11px;align-items:flex-start}.demo-bar button{font-size:9px;margin-top:2px}.collection-footer{font-size:8px;line-height:1.8;align-items:flex-start}.collection-footer>span{max-width:55%}.detail-top{align-items:flex-start}.detail-actions .btn{padding:8px 10px;font-size:9px;min-height:34px}.detail-actions .btn svg{width:12px}.detail-title h1{font-size:31px}.detail-title{flex-wrap:wrap;gap:8px}.stage-nav{gap:0;justify-content:space-between;margin-top:21px}.stage-nav button{gap:6px;font-size:10px}.step-number{width:18px;height:18px;font-size:8px}.panel{padding:20px}.form-grid{gap:17px 12px}.gallery{grid-template-columns:1fr 1fr}.gallery figure:first-child{grid-column:1/-1}.gallery figure:first-child img{height:240px}.modal-head{padding:21px}.modal-body{padding:21px}.modal-foot{padding:17px 21px}.toast{left:50%;bottom:20px}.grid.list .stone-card{grid-template-columns:110px 1fr}.grid.list .card-image{height:165px}.grid.list .card-body{padding:15px}.grid.list .card-meta{margin-top:13px}.grid.list .card-image .badge{font-size:6px;right:5px;top:6px}.grid.list .photo-code{font-size:6px;left:5px;bottom:6px}}
@media(max-width:380px){.grid{grid-template-columns:1fr}.card-image{height:240px}.card-meta strong small{display:inline;margin-left:4px}.heading-row h1{font-size:27px}.stat{padding:0 9px}.stat-top{font-size:7px}.stat-value strong{font-size:21px}.topbar{padding:0 15px}.content{padding:22px 15px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{@page{size:A4;margin:16mm}body{background:#ffffff;font-size:10pt}body>*{display:none!important}.print-document{display:block!important;color:#303030;font:10pt/1.6 Arial,sans-serif}.print-document h1{font:30pt Georgia,serif;margin:5mm 0}.print-document h2{font:17pt Georgia,serif;border-bottom:1px solid #dddddd;padding-bottom:2mm;margin-top:8mm;break-after:avoid}.print-document table{width:100%;border-collapse:collapse;margin:3mm 0}.print-document td,.print-document th{border-bottom:1px solid #dddddd;padding:2mm;text-align:left}.print-document img{max-width:70mm;max-height:65mm;object-fit:contain;margin:2mm}.print-document section{break-inside:avoid}.print-document .print-note{font-size:8pt;color:#777777}.print-document p{white-space:pre-wrap;overflow-wrap:anywhere}}

@media(max-width:700px){.field input,.field select,.field textarea,.settings-input,.search input{font-size:16px}.field label{font-size:11px}.search{min-width:0}.search input{min-width:0}.stat-top svg{width:15px;height:15px}}

/* MOID forms: a neutral palette, readable type and clear controls. */
body { line-height:1.5; }
button, input, select, textarea { font-family:var(--sans); }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, .upload:focus-within { outline:3px solid #242424; outline-offset:3px; }
.shell { grid-template-columns:240px minmax(0,1fr); }
.sidebar { width:240px; padding:28px 20px 24px; background:#fff; overflow-y:auto; }
.brand { display:flex; justify-content:center; padding:0; }
.brand-logo { display:block; width:148px; height:auto; object-fit:contain; }
.brand-caption { padding:16px 0 24px; text-align:center; font-size:12px; letter-spacing:1px; color:#555; }
.brand-mark { display:block; width:116px; height:auto; margin:auto; }
.nav-label { padding:10px 14px; font-size:12px; color:#555; letter-spacing:.8px; }
.nav-item { min-height:48px; font-size:15px; color:#333; border-radius:6px; }
.nav-item svg { width:20px; height:20px; flex-shrink:0; }
.nav-item:hover { background:#f1f1f1; }
.nav-item.active { background:#292929; color:#fff; font-weight:600; }
.nav-item .nav-count { min-width:24px; font-size:13px; background:#eee; color:#292929; }
.nav-item.active .nav-count { background:#fff; color:#292929; }
.sidebar-note { color:#555; font-size:13px; border-color:#d6d6d6; padding-top:18px; margin-top:20px; }
.sidebar-note span { color:#333; }
.topbar { min-height:80px; height:auto; background:#fff; padding:20px 40px; }
.breadcrumb { color:#555; font-size:14px; min-width:0; }
.breadcrumb b { color:#242424; font-weight:600; }
.mobile-brand { display:none; }
.save-state { min-height:44px; font-size:13px; color:#444; }
.save-state .dot { width:7px; height:7px; background:#292929; flex-shrink:0; }
.save-state.error { color:#242424; text-decoration:underline; text-underline-offset:4px; font-weight:600; }
.save-state.error .dot { background:#242424; border-radius:1px; }
.avatar { width:40px; height:40px; background:#f3f3f3; border-color:#aaa; color:#292929; font:600 16px var(--sans); }
.content { padding:32px 40px; }
.heading-row h1, .detail-title h1 { font:600 34px/1.2 var(--sans); letter-spacing:-.8px; color:#242424; }
.subtitle { font-size:16px; line-height:1.6; color:#555; max-width:none; }
.eyebrow { color:#555; font-size:13px; }
.btn, .heading-row .btn, .detail-actions .btn, .settings-section .btn {
  min-height:46px; padding:11px 17px; font-size:14px; font-weight:600;
  color:#292929; background:#fff; border-color:#888;
}
.btn svg { width:18px; height:18px; }
.btn:hover { background:#f0f0f0; }
.btn.primary { background:#292929; border-color:#292929; color:#fff; }
.btn.primary:hover { background:#111; }
.btn.danger { color:#242424; border-style:dashed; }
.btn.subtle { background:transparent; color:#444; text-decoration:underline; text-underline-offset:3px; }
.icon-btn { width:46px; height:46px; color:#292929; border-color:#888; }
.stats { margin:28px 0; padding:21px 0; }
.stat { padding:0 22px; }
.stat-top { color:#444; font-size:14px; font-weight:500; }
.stat-top i, .stat-top i.process, .stat-top i.finished { background:#292929; width:6px; height:6px; }
.stat-value { margin-top:7px; }
.stat-value strong { font-size:32px; font-weight:600; letter-spacing:-.5px; }
.stat-value span { display:none; }
.catalog-tools { align-items:stretch; gap:16px; margin-bottom:24px; }
.tabs { background:#f3f3f3; border-color:#d1d1d1; padding:4px; gap:4px; }
.tab, .tabs .tab { min-height:44px; padding:10px 13px; font-size:14px; color:#444; }
.tab.active { background:#292929; color:#fff; font-weight:600; box-shadow:none; }
.tab span { opacity:1; font-size:12px; }
.tools-right { flex-wrap:wrap; gap:10px; }
.search { min-height:54px; border-color:#888; padding:9px 12px; }
.search:focus-within { outline:2px solid #292929; outline-offset:2px; }
.search svg { width:19px; height:19px; color:#444; }
.search input { width:225px; font-size:16px; min-width:0; }
.search input::placeholder, .field input::placeholder, .field textarea::placeholder { color:#666; opacity:1; }
.view-toggle { border-color:#888; padding:3px; gap:2px; }
.view-toggle button { width:44px; height:44px; color:#444; }
.view-toggle button svg { width:18px; height:18px; }
.view-toggle button.active { color:#fff; background:#292929; }
.demo-bar { padding:14px 16px; font-size:14px; background:#f3f3f3; border-color:#c4c4c4; color:#444; }
.demo-bar button { min-height:44px; font-size:14px; font-weight:600; color:#292929; }
.demo-bar button svg { width:17px; height:17px; }
.grid { gap:24px; }
.stone-card { border-color:#c7c7c7; box-shadow:none; }
.stone-card:hover { transform:none; border-color:#292929; box-shadow:0 3px 14px #0000000d; }
.card-image { height:235px; background:#eee; }
.card-image:after { background:none; }
.card-image .placeholder { color:#666; opacity:1; }
.stone-card:hover img { transform:none; }
.badge, .badge.process, .badge.finished,
.card-image .badge, .card-image .badge.process, .card-image .badge.finished {
  padding:7px 10px; font-size:12px; line-height:1.3; font-weight:600; gap:6px;
  background:#fff; color:#292929; border:1px solid #999; backdrop-filter:none;
}
.badge:before { display:none; }
.badge svg { width:14px; height:14px; flex-shrink:0; }
.card-image .badge { top:12px; right:12px; }
.photo-code { color:#292929; background:#fff; font-size:12px; letter-spacing:.4px; padding:5px 8px; }
.card-body { padding:19px 20px 17px; }
.card-body h2 { font:600 21px/1.3 var(--sans); letter-spacing:-.3px; }
.card-description { font-size:14px; color:#555; margin-top:6px; line-height:1.5; }
.card-meta { margin-top:20px; gap:10px; }
.card-meta label { font-size:13px; text-transform:none; letter-spacing:0; color:#555; margin-bottom:5px; }
.card-meta strong { font-size:17px; color:#242424; font-weight:600; }
.card-meta strong small { font-size:14px; color:#555; font-weight:400; }
.card-bottom { font-size:13px; color:#555; border-color:#dedede; margin-top:18px; padding-top:14px; }
.card-bottom svg { width:15px; height:15px; }
.card-bottom>svg { color:#333; }
.collection-footer, .collection-footer a { color:#555; font-size:13px; }
.collection-footer a { text-decoration:underline; text-underline-offset:3px; }
.collection-footer span { flex-wrap:wrap; }
.empty { border-color:#999; color:#555; }
.empty svg { color:#555; }
.empty h2 { font:600 26px var(--sans); }
.empty p { font-size:16px; }
.detail-top { align-items:center; }
.back { min-height:44px; font-size:14px; color:#444; }
.detail-title { gap:15px; }
.detail-title>button { min-height:44px; }
.detail-code { font-size:14px; color:#555; }
.stage-nav { gap:28px; }
.stage-nav button { min-height:54px; padding:13px 0; font-size:15px; font-weight:500; color:#555; }
.stage-nav button.active { border-color:#292929; border-bottom-width:3px; color:#242424; font-weight:600; }
.step-number { width:27px; height:27px; font-size:13px; border-color:#888; }
.active .step-number { background:#292929; border-color:#292929; color:#fff; }
.panel { border-color:#ccc; padding:25px; }
.panel h2 { font:600 22px/1.35 var(--sans); letter-spacing:-.3px; }
.panel .intro { color:#555; font-size:15px; line-height:1.6; }
.panel-title { flex-wrap:wrap; }
.panel-title>small { font-size:14px; }
.field { gap:8px; }
.field label { color:#333; font-size:14px; font-weight:600; }
.field .hint { font-size:13px; color:#555; line-height:1.6; }
.field input, .field select, .field textarea, .settings-input {
  background:#fff; border-color:#888; min-height:48px; font-size:16px; padding:12px; color:#242424;
}
.field input:focus, .field textarea:focus, .field select:focus { outline:2px solid #292929; outline-offset:2px; }
.field input[readonly] { color:#444; background:#f3f3f3; }
.input-unit input { padding-right:48px; }
.input-unit span { color:#555; font-size:14px; top:14px; }
.computed { background:#f3f3f3; color:#444; padding:16px; font-size:14px; }
.computed strong { color:#242424; font-size:18px; }
.gallery img { background:#eee; }
.gallery small { color:#555; font-size:13px; }
.gallery .remove-photo { width:44px; height:44px; background:#292929; color:#fff; font-size:23px; }
.upload { color:#333; font-size:16px; background:#f7f7f7; border-color:#888; min-height:165px; }
.upload small { color:#555; font-size:13px; }
.total-time { background:#f3f3f3; border-color:#ccc; }
.total-time label { color:#444; font-size:13px; letter-spacing:.5px; }
.total-time strong { color:#242424; font:600 36px/1.3 var(--sans); }
.total-time p { color:#555; font-size:14px; }
.session-icon { background:#f1f1f1; color:#444; width:38px; height:38px; }
.session-body h3 { font-size:17px; font-weight:600; }
.session-body p { color:#444; font-size:15px; }
.session-body small { color:#555; font-size:13px; }
.session-actions button { min-width:44px; min-height:44px; color:#444; }
.session-actions svg { width:18px; height:18px; }
.metric label { font-size:14px; color:#555; }
.metric strong { font-size:22px; font-weight:600; }
.metric small { color:#555; font-size:13px; }
.margin-card { background:#f3f3f3; border:1px solid #ccc; }
.margin-card label { color:#444; font-size:14px; }
.margin-card strong { font:600 30px/1.3 var(--sans); }
.margin-card p { color:#555; font-size:13px; }
.check { color:#333; font-size:15px; }
.check input { accent-color:#292929; width:20px; height:20px; vertical-align:middle; }
.validation { color:#242424; font-size:14px; }
.validation:not(:empty) { background:#f3f3f3; border:1px solid #777; border-left:4px solid #292929; }
.history summary { min-height:44px; font-size:14px; color:#444; }
.history ul { color:#555; font-size:14px; }
dialog { background:#fff; box-shadow:0 20px 100px #00000026; }
dialog::backdrop { background:#00000066; }
.modal-head h2 { font:600 25px/1.3 var(--sans); }
.modal-head button { color:#333; min-width:44px; min-height:44px; }
.modal-foot { flex-wrap:wrap; }
dialog.lightbox { background:#242424; }
.lightbox button { min-width:44px; min-height:44px; background:#fff; color:#242424; }
.settings-section h3 { font-size:17px; }
.settings-section p, .install-help { color:#555; font-size:15px; }
.cloud-state { background:#f3f3f3; color:#333; font-size:14px; overflow-wrap:anywhere; }
.toast { background:#292929; color:#fff; font-size:15px; box-shadow:0 5px 20px #00000026; }
.summary-grid .panel h3 { color:#555; font-size:14px; font-weight:600; }
.summary-grid strong { font:600 32px var(--sans); }
.summary-grid p { color:#555; font-size:14px; }
.summary-table { font-size:14px; }
.summary-table th { color:#444; font-size:13px; font-weight:600; }
.summary-table small { font-size:13px; }
.summary-table tr[data-id]:hover { background:#f3f3f3; }
.mobile-menu { min-width:44px; min-height:44px; color:#292929; }
.muted { color:#555; }

@media(min-width:1500px) {
  .sidebar { width:240px; }
  .shell { grid-template-columns:240px minmax(0,1fr); }
}
@media(max-width:1200px) {
  .content { padding:30px; }
  .topbar { padding:17px 30px; }
  .catalog-tools { flex-direction:column; }
  .tabs { align-self:flex-start; }
  .tools-right { width:100%; justify-content:flex-start; }
  .search { flex:1; }
  .search input { width:100%; }
  .stat { padding:0 14px; }
  .stat-top { font-size:13px; }
  .detail-grid { grid-template-columns:1fr; }
}
@media(max-width:1050px) {
  .grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .card-meta strong small { display:block; margin:3px 0 0; }
}
@media(max-width:800px) {
  .shell { display:block; }
  .sidebar { transform:translateX(-100%); width:240px; visibility:hidden; }
  .sidebar.open { transform:translateX(0); visibility:visible; }
  .mobile-overlay.show { display:block; position:fixed; inset:0; z-index:19; background:#00000066; }
  .mobile-menu { display:grid; place-content:center; margin:0; }
  .mobile-brand { display:flex; align-items:center; flex-shrink:0; }
  .mobile-brand img { display:block; width:58px; height:auto; }
  .topbar { padding:12px 20px; gap:12px; min-height:84px; }
  .breadcrumb { gap:10px; font-size:14px; flex:1; }
  .breadcrumb>span, .breadcrumb>svg { display:none; }
  .top-actions { gap:0; }
  .avatar { display:none; }
  .save-state { max-width:140px; white-space:normal; text-align:left; line-height:1.4; }
  .content { padding:26px 20px; }
  .heading-row h1, .detail-title h1 { font-size:30px; }
  .heading-row { align-items:center; }
  .stats { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 0; }
  .stat { padding:0 20px; }
  .stat:nth-child(odd) { padding-left:0; }
  .stat:nth-child(even) { border:0; }
  .stat-top { font-size:14px; }
  .stat-value strong { font-size:30px; }
  .demo-bar { align-items:flex-start; font-size:14px; }
  .demo-bar button { font-size:14px; }
  .tabs { align-self:stretch; width:100%; }
  .tab, .tabs .tab { flex:1; justify-content:center; font-size:14px; padding:10px; }
  .grid { gap:20px; }
  .card-image { height:220px; }
  .card-body { padding:19px; }
  .card-body h2 { font-size:22px; }
  .card-description { font-size:14px; }
  .card-meta label { font-size:13px; }
  .card-meta strong { font-size:17px; }
  .card-meta strong small { font-size:14px; }
  .card-bottom { font-size:13px; }
  .card-image .badge, .grid.list .card-image .badge { font-size:12px; padding:7px 9px; }
  .photo-code, .grid.list .photo-code { font-size:12px; left:12px; bottom:12px; }
  .collection-footer { font-size:13px; }
  .collection-footer>span { max-width:none; }
  .detail-top { align-items:flex-start; }
  .detail-actions { justify-content:flex-end; }
  .detail-actions .btn { font-size:14px; padding:10px 12px; }
  .detail-actions .btn svg { width:18px; }
  .field label { font-size:14px; }
  .stage-nav { gap:12px; }
  .stage-nav button { font-size:14px; gap:7px; }
  .step-number { width:25px; height:25px; font-size:13px; }
  .toast { left:50%; }
}
@media(max-width:540px) {
  .heading-row { flex-direction:column; align-items:stretch; gap:20px; }
  .heading-row .btn { align-self:flex-start; font-size:15px; }
  .subtitle { font-size:16px; }
  .save-state { font-size:12px; max-width:110px; }
  .breadcrumb { gap:7px; font-size:13px; }
  .grid { grid-template-columns:1fr; }
  .card-image { height:260px; }
  .card-meta strong small { display:inline; margin-left:5px; }
  .demo-bar { flex-direction:column; gap:5px; }
  .demo-bar button { padding:0; min-height:44px; }
  .tabs { display:grid; grid-template-columns:1fr 1fr; gap:5px; }
  .tab, .tabs .tab { font-size:14px; min-height:44px; }
  .tools-right { display:grid; grid-template-columns:1fr auto; }
  .search { grid-column:1/-1; width:100%; min-width:0; }
  .view-toggle { justify-self:start; }
  .export-button { justify-self:end; }
  .collection-footer { flex-wrap:wrap; font-size:13px; gap:8px; }
  .card-bottom span { display:flex; white-space:normal; max-width:90%; }
  .card-bottom span svg { display:block; }
  .grid.list .stone-card { grid-template-columns:1fr; }
  .grid.list .card-image { height:210px; }
  .grid.list .card-body { padding:19px; }
  .grid.list .card-description { display:block; }
  .detail-top { flex-direction:column; gap:10px; }
  .detail-actions { justify-content:flex-start; }
  .detail-title { align-items:flex-start; flex-direction:column; gap:6px; }
  .stage-nav { display:grid; grid-template-columns:1fr; margin:20px 0; gap:3px; border:0; }
  .stage-nav button { border:1px solid #bbb; padding:10px 12px; border-radius:5px; font-size:15px; min-height:48px; }
  .stage-nav button.active { background:#292929; color:#fff; border:1px solid #292929; }
  .stage-nav button.active .step-number { background:#fff; color:#292929; border-color:#fff; }
  .panel { padding:20px; }
  .panel-title { gap:12px; }
  .panel-title h2 { font-size:21px; }
  .form-grid { grid-template-columns:1fr; gap:20px; }
  .field { grid-column:1/-1; }
  .metrics { gap:18px 12px; }
  .metric label { font-size:14px; }
  .metric strong { font-size:20px; }
  .session { flex-wrap:wrap; gap:10px; }
  .session-icon { display:none; }
  .session-actions { margin-left:auto; }
  .computed { flex-wrap:wrap; }
  .gallery { grid-template-columns:1fr; }
  .gallery figure:first-child img { height:240px; }
  .modal-head, .modal-body { padding:20px; }
  .modal-foot { padding:16px 20px; justify-content:stretch; }
  .modal-foot .btn { flex:1; }
  .modal-head h2 { font-size:23px; }
}
@media print {
  .print-document { color:#242424; }
  .print-document .print-logo { display:block; width:26mm; height:auto; max-height:none; margin:0 0 4mm; }
}
