.stone-shell,.stone-public{--st-bg:#fff;--st-panel:#f4f7f7;--st-line:#d9e2e3;--st-ink:#192b2e;--st-muted:#576b70;--st-accent:#087e90;--st-bad:#be343b;background:var(--st-bg);color:var(--st-ink);font-size:14px;line-height:1.6;letter-spacing:0}
[data-theme=dark] .stone-shell,[data-theme=dark] .stone-public{--st-bg:#10181c;--st-panel:#192429;--st-line:#34454c;--st-ink:#e7eef0;--st-muted:#b2c1c6;--st-accent:#45d4e5;--st-bad:#ff8990}
.stone-shell{display:grid;grid-template-columns:190px minmax(0,1fr);min-height:calc(100vh - 95px)}
.stone-shell h1,.stone-shell h2,.stone-shell h3,.stone-public h1,.stone-public h2{font-family:inherit;line-height:1.4;letter-spacing:0;margin:0 0 12px;color:var(--st-ink)}
.stone-shell h1,.stone-public h1{font-size:26px}.stone-shell h2,.stone-public h2{font-size:18px}.stone-shell h3{font-size:15px}
.stone-nav{border-inline-end:1px solid var(--st-line);background:var(--st-panel);padding:24px 12px;display:flex;flex-direction:column;gap:6px;align-items:stretch}
.stone-nav a{display:flex;align-items:center;gap:10px;padding:10px 8px;color:var(--st-muted);text-decoration:none;border-radius:4px;font-size:13px}
.stone-nav a:hover,.stone-nav a[aria-current=page]{background:var(--st-bg);color:var(--st-accent)}.stone-nav .stone-wordmark{color:var(--st-ink);margin-bottom:22px;font-size:15px}
.stone-content{min-width:0;padding:26px 30px 55px}.stone-public{padding:45px max(20px,calc((100% - 1240px)/2));min-height:65vh}
.stone-shell p,.stone-public p{margin:0 0 14px}.stone-eyebrow{font-size:12px;color:var(--st-muted);margin-bottom:5px!important}.stone-page-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px;flex-wrap:wrap}.stone-page-heading h1,.stone-page-heading h2,.stone-page-heading h3{margin:0}
.stone-shell a,.stone-public a{color:var(--st-accent)}.stone-shell svg,.stone-public svg{width:18px;height:18px;flex-shrink:0}
[data-theme=dark] .stone-good{color:#62dfab}
.stone-btn,.stone-icon-btn{border:1px solid var(--st-line);background:var(--st-bg);color:var(--st-ink)!important;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:7px 13px;font:inherit;font-weight:600;line-height:1.3;border-radius:4px;cursor:pointer;text-decoration:none;white-space:normal}
.stone-icon-btn{width:38px;height:38px;min-width:38px;padding:9px;flex-shrink:0}.stone-btn.primary{background:#087e90;border-color:#087e90;color:#fff!important}.stone-btn.danger{color:var(--st-bad)!important;border-color:var(--st-bad)}.stone-btn:hover,.stone-icon-btn:hover,.stone-icon-btn[aria-pressed=true]{background:var(--st-panel)}.stone-btn.primary:hover{background:#066b7a}.stone-btn:disabled,.stone-icon-btn:disabled{opacity:.4;cursor:not-allowed}
.stone-shell input:not([type=checkbox]),.stone-shell select,.stone-shell textarea,.stone-public input:not([type=checkbox]),.stone-public select,.stone-public textarea{font:inherit;color:var(--st-ink);background:var(--st-bg);border:1px solid var(--st-line);border-radius:4px;padding:8px 10px;min-height:38px;max-width:100%;width:100%;box-sizing:border-box}
.stone-shell input[type=checkbox],.stone-public input[type=checkbox]{width:18px;height:18px;accent-color:#087e90;vertical-align:middle;flex-shrink:0}.stone-shell select[multiple]{min-height:95px}.stone-shell label,.stone-public label{display:block;font-weight:500;font-size:13px}.stone-shell label input,.stone-shell label textarea,.stone-shell label select{margin-top:4px}
.stone-shell :focus-visible,.stone-public :focus-visible{outline:2px solid var(--st-accent);outline-offset:3px}.stone-field{margin-bottom:16px}.stone-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 22px;margin-bottom:20px}.stone-fields.compact{gap:8px}.stone-field small{display:block;color:var(--st-muted);font-size:12px}.stone-form{max-width:960px}.stone-form>.stone-btn{margin-top:12px}.stone-hidden,[hidden]{display:none!important}.stone-check{display:flex!important;align-items:center;gap:6px}
.stone-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.stone-actions select{width:auto;max-width:260px}.stone-section{padding:28px 0;border-top:1px solid var(--st-line);margin-top:24px}.stone-section .stone-page-heading{margin-bottom:16px}.stone-muted{color:var(--st-muted);font-size:12px}.stone-good{color:#16805b}.stone-bad,.errorlist{color:var(--st-bad)}.errorlist{padding-inline-start:18px;font-size:12px}
.stone-filters{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 24px}.stone-filters input,.stone-filters select{flex:1 1 130px!important;width:auto!important;min-width:0;max-width:260px!important}
.stone-table-wrap{overflow:auto;border-block:1px solid var(--st-line);margin-bottom:22px}.stone-table{width:100%;border-collapse:collapse;font-size:13px;text-align:start}.stone-table th,.stone-table td{padding:14px 12px;text-align:start;border-bottom:1px solid var(--st-line);vertical-align:top}.stone-table th{font-size:12px;color:var(--st-muted);font-weight:500;background:var(--st-panel)}.stone-table tr:last-child td{border-bottom:0}.stone-table small{display:block;color:var(--st-muted);margin-top:3px}.stone-table a{font-weight:600;text-decoration:none}.stone-empty{padding:45px 18px!important;text-align:center;color:var(--st-muted)}
.stone-status{display:inline-block;font-size:12px;padding:3px 7px;border:1px solid var(--st-line);border-radius:3px}.stone-metrics{display:flex;gap:30px;padding:20px 0 30px;margin-bottom:20px;border-bottom:1px solid var(--st-line)}.stone-metrics>div{min-width:150px}.stone-metrics span{display:block;color:var(--st-muted);font-size:13px}.stone-metrics strong{display:block;font-size:30px}
.stone-slab-detail{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,1fr);gap:35px;margin-bottom:25px}.stone-photo{width:100%;max-height:560px;object-fit:contain;background:var(--st-panel)}.stone-facts{display:grid;grid-template-columns:minmax(110px,180px) minmax(0,1fr);gap:10px 20px;margin:0 0 24px;align-content:start}.stone-facts dt{color:var(--st-muted);font-size:13px}.stone-facts dd{margin:0;overflow-wrap:anywhere}.stone-alert{padding:12px 16px;background:var(--st-panel);border-inline-start:3px solid #e7a839;margin-bottom:18px;font-size:13px}.stone-alert.compact{margin:0;font-size:12px}.stone-lead{padding:16px 0;border-bottom:1px solid var(--st-line)}
.stone-calibration-frame{position:relative;width:fit-content;max-width:100%;margin:20px 0;line-height:0}.stone-calibration-frame img{width:auto;height:auto;max-width:100%;max-height:65vh;display:block}.stone-calibration-frame canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair}
.stone-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.stone-gallery article{border:1px solid var(--st-line);border-radius:4px;overflow:hidden}.stone-gallery article a{text-decoration:none;color:inherit}.stone-gallery img{width:100%;aspect-ratio:4/3;object-fit:contain;display:block;background:var(--st-panel)}.stone-gallery article a>div:last-child{padding:18px}.stone-gallery .stone-status{margin-bottom:10px}
.stone-remnants{display:grid;gap:10px;margin:15px 0}.stone-remnants label{padding:10px;border:1px solid var(--st-line)}.stone-calendar{margin:20px 0 30px;overflow:auto;border:1px solid var(--st-line)}.stone-week{display:grid;grid-template-columns:repeat(7,minmax(105px,1fr))}.stone-day{min-height:100px;padding:8px;border-inline-end:1px solid var(--st-line);border-bottom:1px solid var(--st-line)}.stone-day time{display:block;font-size:12px;color:var(--st-muted)}.stone-day a{display:block;background:var(--st-panel);font-size:11px;margin-top:6px;padding:5px;overflow-wrap:anywhere}.stone-day.muted{opacity:.45}
.stone-toolbar{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding:10px;background:var(--st-panel);border-block:1px solid var(--st-line)}.stone-toolbar select{width:auto;max-width:240px;min-width:160px}.stone-separator{height:22px;width:1px;background:var(--st-line);margin:0 6px}.stone-editor-grid{display:grid;grid-template-columns:235px minmax(260px,1fr) 185px;border-bottom:1px solid var(--st-line)}.stone-inspector{padding:16px 12px;border-inline-end:1px solid var(--st-line);max-height:1050px;overflow:auto}.stone-inspector h2,.stone-validation h2{font-size:14px;margin-bottom:12px}.stone-inspector h3{margin-top:16px;font-size:13px}.stone-inspector label{font-size:11px;margin-bottom:8px}.stone-inspector input,.stone-inspector select,.stone-inspector textarea{font-size:12px!important;min-height:32px!important;padding:6px!important}.stone-inspector .stone-fields{margin-bottom:12px}.stone-slab-tabs,.stone-piece-list{display:grid;gap:5px;margin-bottom:16px}.stone-slab-tabs button,.stone-piece-list button{font:inherit;font-size:12px;border:1px solid var(--st-line);border-radius:3px;background:var(--st-bg);color:var(--st-ink);text-align:start;padding:7px;cursor:pointer;overflow-wrap:anywhere}.stone-slab-tabs button[aria-pressed=true],.stone-piece-list button[aria-pressed=true]{border-color:var(--st-accent);color:var(--st-accent)}.stone-drawing{min-width:0;background:#e9eef0;direction:ltr}.stone-canvas-heading{padding:8px 12px;background:var(--st-panel);display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--st-ink);min-height:42px}.stone-canvas{height:440px;overflow:hidden;touch-action:none}.stone-canvas.assembly{height:330px}.stone-canvas canvas{display:block}.stone-validation{padding:16px 12px;border-inline-start:1px solid var(--st-line);overflow-wrap:anywhere}.stone-validation p,.stone-validation details{font-size:11px}.stone-validation details{margin-top:24px;color:var(--st-muted)}.stone-validation dl{display:grid;grid-template-columns:1fr auto;gap:6px;font-size:11px;margin:12px 0 20px}.stone-validation dt{color:var(--st-muted)}.stone-validation dd{margin:0;font-weight:600}.stone-validation .stone-bad{padding:6px 0;border-bottom:1px solid var(--st-line)}.stone-verification-note{padding-top:15px}.stone-cutout-row,.stone-seam-row{padding:10px 0;border-bottom:1px solid var(--st-line)}.stone-cutout-row .stone-fields,.stone-seam-row .stone-fields{gap:5px}#save-status{font-size:12px;color:var(--st-muted)}
body:has(.stone-shell) .floating-whatsapp,body:has(.stone-shell) .site-footer{display:none}body:has(.stone-editor-grid) .stone-content{padding:18px 16px 35px}body:has(.stone-editor-grid) .stone-shell{grid-template-columns:155px minmax(0,1fr)}
@media(min-width:1600px){.stone-editor-grid{grid-template-columns:260px minmax(260px,1fr) 220px}.stone-canvas{height:520px}}
@media(max-width:1150px){.stone-shell,body:has(.stone-editor-grid) .stone-shell{grid-template-columns:1fr}.stone-nav{flex-direction:row;overflow:auto;padding:8px 12px;border-inline-end:0;border-bottom:1px solid var(--st-line);gap:3px}.stone-nav a{white-space:nowrap;flex-shrink:0}.stone-nav .stone-wordmark{margin:0 12px 0 0}.stone-nav .stone-wordmark strong{display:none}.stone-editor-grid{grid-template-columns:215px minmax(260px,1fr)}.stone-validation{grid-column:1/-1;border-inline-start:0;border-top:1px solid var(--st-line);display:flex;gap:20px;flex-wrap:wrap}.stone-validation dl{min-width:170px}.stone-validation>h2{width:100%;margin-bottom:0}.stone-validation details{max-width:450px;margin-top:0}}
@media(max-width:700px){.stone-content{padding:20px 16px}.stone-fields{grid-template-columns:1fr}.stone-fields.compact{grid-template-columns:1fr 1fr}.stone-slab-detail{grid-template-columns:1fr}.stone-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stone-page-heading{gap:12px}.stone-shell h1,.stone-public h1{font-size:23px}.stone-editor-grid{grid-template-columns:minmax(0,1fr)}.stone-drawing{grid-row:1}.stone-inspector{max-height:none;border-inline-end:0;border-top:1px solid var(--st-line)}.stone-inspector .stone-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.stone-canvas{height:330px}.stone-canvas.assembly{height:260px}.stone-slab-tabs,.stone-piece-list{grid-template-columns:repeat(2,minmax(0,1fr))}.stone-toolbar select{max-width:calc(100% - 50px)}.stone-table{min-width:560px}.stone-facts{grid-template-columns:110px minmax(0,1fr)}.stone-public{padding:25px 16px}.stone-gallery article a>div:last-child{padding:12px}.stone-gallery h2{font-size:16px}.stone-gallery p{font-size:12px}.stone-metrics{gap:20px}.stone-metrics>div{min-width:0}}
@media(prefers-reduced-motion:reduce){.stone-shell *,.stone-public *{animation:none!important;transition:none!important}}
