/* CHROMARIUM integrated login + scan — demo fix 2026-09-01 */
[hidden]{display:none!important}
.chromarium-scan-button{gap:6px!important;background:#111!important;color:#fff!important;border:1px solid #111!important}
.chromarium-scan-button:hover{background:var(--gsw-green)!important;color:#111!important;border-color:var(--gsw-green)!important}

/* Login */
.chromarium-login-page{margin:0!important;min-height:100vh!important;background:repeating-radial-gradient(circle at 50% 50%,rgba(255,255,255,.18) 0 2px,transparent 2px 92px),radial-gradient(circle at 50% 50%,#fff7b2 0 8%,#ffd66e 16%,#ff956f 28%,#f36fa0 40%,#9b7be7 53%,#55b9ef 66%,#62d7c5 78%,#b9e66c 90%,#fff3a0 100%)!important;background-attachment:fixed!important;color:#111!important;font-family:"Fredoka","Trebuchet MS",Arial,sans-serif!important;display:grid!important;place-items:center!important;padding:24px!important}
.chromarium-login-shell{width:min(100%,570px)}
.chromarium-login-card{position:relative;background:#fff;border:1px solid #dedede;border-top:5px solid var(--gsw-green,#96c11f);box-shadow:0 18px 50px rgba(0,0,0,.12);padding:34px 38px 38px}
.chromarium-login-languages{position:absolute;right:18px;top:16px;display:flex;gap:5px}
.chromarium-login-languages a{width:34px;height:30px;display:grid;place-items:center;text-decoration:none;background:#f2f2f2;border:1px solid #ddd;font-size:17px}
.chromarium-login-languages a.active{border-color:var(--gsw-green,#96c11f);background:#eff8d9}
.chromarium-login-brand{display:flex;align-items:center;gap:0;padding-right:105px}
.chromarium-login-wordmark{font-size:clamp(30px,7vw,46px);font-weight:600;letter-spacing:-.045em;line-height:.95;color:transparent;background:linear-gradient(90deg,#ef3340,#ff7a32,#f6c945,#78b82a,#20a76f,#2d9bd3,#5756b3,#b83ca5,#f04c45);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.chromarium-login-tagline{margin-top:7px;color:#111;font-size:12px;font-weight:400}
.chromarium-login-divider{height:1px;background:#dedede;margin:28px 0 24px}
.chromarium-login-kicker{margin:0 0 7px;color:#718e10;font-size:10px;font-weight:600;letter-spacing:.08em}
.chromarium-login-card h1{margin:0;font-family:inherit!important;font-size:36px;line-height:1.05;font-weight:500!important;letter-spacing:-.03em;color:#111!important}
.chromarium-login-copy{margin:11px 0 24px;color:#666;line-height:1.55;font-size:14px}
.chromarium-login-form{display:grid;gap:14px}
.chromarium-login-form label{display:grid;gap:6px}
.chromarium-login-form label span{font-size:10px;font-weight:600;text-transform:uppercase;color:#555;letter-spacing:.05em}
.chromarium-login-form input{width:100%;height:48px;padding:0 13px;border:1px solid #ccc;background:#fff;color:#111;outline:0;font:inherit;border-radius:8px}
.chromarium-login-form input:focus{border-color:var(--gsw-green,#96c11f);box-shadow:0 0 0 3px rgba(150,193,31,.12)}
.chromarium-login-form button{height:48px;border:0;border-radius:8px;background:var(--gsw-green,#96c11f);color:#111;font:600 14px/1 "Fredoka",sans-serif;cursor:pointer}
.chromarium-login-form button:hover{background:#84ac15}
.chromarium-login-error{margin:0 0 16px;padding:11px 12px;border:1px solid #e0a4a4;background:#fff2f2;color:#8c2828;font-size:13px}

/* Scan */
.scan-page-shell{width:min(1320px,calc(100% - 36px));margin:0 auto 48px;padding:26px 24px 40px;background:#fff;border-left:1px solid #e2e2e2;border-right:1px solid #e2e2e2}
.scan-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:10px 0 24px;border-bottom:1px solid #ddd;margin-bottom:16px}
.scan-hero .scan-eyebrow{color:#718e10;font-size:10px;font-weight:700;letter-spacing:.08em}
.scan-hero h1{margin:7px 0 10px;font-size:clamp(30px,4vw,50px);line-height:1;letter-spacing:-.04em;font-weight:500}
.scan-hero p{margin:0;max-width:800px;color:#5d5d5d;line-height:1.55;font-size:14px}
.scan-back{display:inline-flex;align-items:center;min-height:36px;padding:0 13px;background:#111;color:#fff;text-decoration:none;font-size:11px;font-weight:600;white-space:nowrap}
.scan-mode-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 16px}
.scan-mode-tab{min-height:68px;padding:10px 13px;border:1px solid #d7d7d7;background:#f6f6f6;color:#111;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer;font:inherit}
.scan-mode-tab.active{background:#eff8d9;border-color:var(--gsw-green,#96c11f);box-shadow:inset 0 -3px 0 var(--gsw-green,#96c11f)}
.scan-mode-icon{font-size:22px;width:34px;text-align:center}.scan-mode-tab strong{display:block;font-size:13px;font-weight:600}.scan-mode-tab small{display:block;color:#777;font-size:10px;margin-top:2px}
.scan-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(340px,.75fr);gap:16px;align-items:start}
.scan-photo-panel,.scan-result-panel{min-width:0}.scan-result-panel{position:sticky;top:12px;display:grid;gap:12px}
.scan-upload-card,.scan-canvas-card,.scan-card{background:#fff;border:1px solid #ddd}
.scan-upload-card{min-height:560px;display:grid;place-items:center;padding:24px;background:#f5f5f5}
.scan-upload-button{width:min(430px,100%);min-height:220px;border:2px dashed #c4c4c4;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;cursor:pointer;font:inherit}
.scan-upload-button:hover{border-color:var(--gsw-green,#96c11f);background:#fbfff4}.scan-upload-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--gsw-green,#96c11f);font-size:32px}.scan-upload-button strong{font-size:20px;font-weight:500}.scan-upload-button small{color:#777;font-size:11px}
.scan-canvas-card{overflow:hidden}.scan-canvas-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:15px 17px;border-bottom:1px solid #ddd}.scan-canvas-toolbar strong{display:block;font-size:14px;font-weight:600}.scan-canvas-toolbar small{display:block;color:#777;font-size:10px;margin-top:3px}.scan-canvas-toolbar button{border:0;background:#111;color:#fff;padding:9px 11px;font:inherit;font-size:10px;cursor:pointer}.scan-canvas-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.scan-canvas-toolbar .scan-primary{background:var(--gsw-green,#96c11f);color:#111;font:600 11px/1 "Fredoka",sans-serif;padding:10px 13px}
.scan-canvas-wrap{position:relative;min-height:470px;background:#171717;display:grid;place-items:center;overflow:hidden}.scan-canvas{display:block;max-width:100%;max-height:72vh;width:auto;height:auto;touch-action:none;cursor:crosshair}.scan-picker-marker{position:absolute;width:32px;height:32px;border-radius:50%;border:4px solid #fff;box-shadow:0 0 0 3px var(--gsw-green,#96c11f),0 5px 16px rgba(0,0,0,.4);transform:translate(-50%,-50%);pointer-events:none}
.scan-canvas-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 15px;border-top:1px solid #ddd}.scan-hint{font-size:11px;color:#55750b;background:#f2f8dc;padding:8px 10px}.scan-primary{border:0;background:var(--gsw-green,#96c11f);color:#111;padding:10px 13px;font:600 11px/1 "Fredoka",sans-serif;cursor:pointer}
.scan-card{padding:18px}.scan-kicker{color:#718e10;font-size:9px;font-weight:700;letter-spacing:.09em}.scan-card h2{margin:5px 0 0;font-size:21px;font-weight:500;letter-spacing:-.025em}.scan-intro{margin:8px 0 0;color:#707070;font-size:11px;line-height:1.5}
.scan-detected-row{display:flex;align-items:center;gap:13px;margin-top:12px}.scan-detected-swatch{width:68px;height:68px;background:#eee;border:1px solid #ddd}.scan-detected-hex{font-size:24px;font-weight:600}.scan-detected-rgb{color:#777;font-size:10px;margin-top:3px}.scan-sample{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:15px;padding-top:14px;border-top:1px solid #ddd}.scan-sample label{font-size:10px;font-weight:600}.scan-sample select{height:34px;border:1px solid #ccc;background:#fff;color:#111!important;-webkit-text-fill-color:#111!important;padding:0 8px;font:inherit;font-size:10px}.scan-sample select option{color:#111!important;background:#fff!important}
.scan-empty,.scan-loading,.scan-error{padding:24px 8px;text-align:center;color:#777;font-size:11px;line-height:1.5}.scan-error{background:#fff2f2;color:#8d2929;margin-top:10px}.scan-list{display:grid;gap:8px;margin-top:13px}
.scan-match{border:1px solid #ddd;padding:11px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.scan-match.best{border:2px solid var(--gsw-green,#96c11f);background:#fbfff5}.scan-rank{grid-column:1/-1;color:#718e10;font-size:8px;font-weight:700;letter-spacing:.08em}.scan-match-main{display:flex;align-items:center;gap:9px;min-width:0}.scan-swatch{width:46px;height:46px;border:1px solid rgba(0,0,0,.08);flex:0 0 auto}.scan-range{color:#718e10;font-size:8px;font-weight:600;text-transform:uppercase}.scan-match h3{margin:2px 0;font-size:13px;line-height:1.15;font-weight:600}.scan-meta{color:#777;font-size:9px}.scan-score{text-align:right;align-self:center}.scan-score strong{display:block;font-size:18px}.scan-score span{font-size:8px;color:#777}
.scan-state-actions{display:flex;gap:4px;flex-wrap:wrap;margin-top:7px}.scan-state-actions form{margin:0}.scan-state-button{min-height:24px;padding:0 7px;border:1px solid #ccc;background:#f5f5f5;color:#333;font:600 8px/1 "Fredoka",sans-serif;cursor:pointer}.scan-state-button.active{background:var(--gsw-green,#96c11f);border-color:var(--gsw-green,#96c11f);color:#111}
.scan-finish-choice{margin-top:14px;padding-top:13px;border-top:1px solid #ddd}.scan-finish-label{font-size:10px;font-weight:600;margin-bottom:8px}.scan-finish-buttons{display:grid;grid-template-columns:1fr 1fr;gap:6px}.scan-finish-button{min-height:38px;border:1px solid #ccc;background:#fff;font:600 10px/1 "Fredoka",sans-serif;cursor:pointer}.scan-finish-button.active{background:#eff8d9;border:2px solid var(--gsw-green,#96c11f)}
.scan-speed-list,.scan-auto-list{display:grid;gap:9px;margin-top:13px}.scan-speed-item{display:grid;grid-template-columns:minmax(0,.8fr) 18px minmax(0,1.2fr);gap:7px;align-items:center;border:1px solid #ddd;padding:9px}.scan-speed-side{display:flex;align-items:center;gap:8px;min-width:0}.scan-speed-swatch{width:42px;height:42px;border:1px solid rgba(0,0,0,.08);flex:0 0 auto}.scan-speed-side strong{display:block;font-size:10px;line-height:1.15}.scan-speed-side small{display:block;color:#777;font-size:8px;margin-top:2px}.scan-arrow{text-align:center;color:#718e10;font-weight:700}
.scan-auto-recipe{border:1px solid #ddd;padding:10px}.scan-auto-head{display:flex;align-items:center;gap:8px;margin-bottom:9px}.scan-auto-source{width:42px;height:42px;border:1px solid rgba(0,0,0,.08)}.scan-auto-head strong{font-size:11px}.scan-auto-head span{margin-left:auto;background:#f2f2f2;padding:5px 7px;font-size:8px;font-weight:600}.scan-auto-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.scan-mini-recipe{background:#f5f5f5;padding:7px;text-align:center;min-width:0}.scan-mini-step{font-size:8px;color:#718e10;font-weight:700;margin-bottom:5px}.scan-mini-swatch{width:34px;height:34px;margin:0 auto 5px;border:1px solid rgba(0,0,0,.08)}.scan-mini-recipe strong{display:block;font-size:8.5px;line-height:1.15}.scan-mini-recipe small{display:block;color:#777;font-size:7px;line-height:1.25;margin-top:3px}.scan-mini-recipe .scan-state-actions{justify-content:center;margin-top:6px}.scan-mini-recipe .scan-state-button{font-size:7px;min-height:21px;padding:0 5px}
.scan-privacy{margin:0;color:#777;font-size:9px;line-height:1.5;padding:0 2px}
@media(max-width:980px){.scan-layout{grid-template-columns:1fr}.scan-result-panel{position:static}}
@media(max-width:720px){.chromarium-login-card{padding:28px 22px}.chromarium-login-brand{padding-right:0;align-items:flex-start}.chromarium-login-languages{position:static;justify-content:flex-end;margin-bottom:17px}.scan-page-shell{width:100%;padding:18px 12px 30px;border:0}.scan-hero{display:block}.scan-back{margin-top:16px}.scan-mode-tabs{grid-template-columns:1fr}.scan-upload-card{min-height:390px}.scan-canvas-wrap{min-height:340px}.scan-canvas-bottom{align-items:stretch;flex-direction:column}.scan-primary{width:100%;min-height:38px}.scan-finish-buttons{grid-template-columns:1fr}.scan-auto-flow{grid-template-columns:repeat(2,1fr)}.scan-speed-item{grid-template-columns:1fr}.scan-arrow{transform:rotate(90deg)}}

/* Scan hotfix 2026-09-01 */
.scan-canvas-actions{column-gap:18px!important}
.scan-canvas-actions .scan-analyse-action{margin-right:8px!important}
.scan-finish-button{color:#111!important;background:#fff!important}
.scan-finish-button.active{color:#111!important;background:#eff8d9!important;border-color:var(--gsw-green,#96c11f)!important}

.chromarium-login-form .auth-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.chromarium-login-form .auth-check{display:flex;align-items:center;gap:8px;font-size:12px}.chromarium-login-form .auth-check input{width:auto}.chromarium-login-links{display:flex;justify-content:space-between;gap:12px;margin-top:16px;font-size:12px}.chromarium-login-links a{color:#5f7d00;font-weight:600}.chromarium-login-success{margin:15px 0;padding:12px 14px;background:#eff8d9;border:1px solid #96c11f;font-size:12px}.chromarium-login-error{margin:15px 0;padding:12px 14px;background:#fff0f0;border:1px solid #d55;font-size:12px}@media(max-width:520px){.chromarium-login-form .auth-row{grid-template-columns:1fr}}

/* Admin integrato: visibile solo agli utenti role=admin */
.chromarium-admin-sidebar {
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    z-index: 9999;
    width: 190px;
    box-sizing: border-box;
    padding: 22px 14px;
    background: #111;
    color: #fff;
    border-right: 4px solid #96c11f;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.chromarium-admin-sidebar-title {
    color: #96c11f;
    font-weight: 800;
    letter-spacing: .12em;
    font-size: 12px;
    padding: 4px 10px 14px;
}
.chromarium-admin-sidebar a {
    color: #fff !important;
    text-decoration: none;
    font-weight: 700;
    font-size: 14px;
    padding: 11px 10px;
    border-radius: 8px;
}
.chromarium-admin-sidebar a:hover {
    background: #242424;
    color: #b8df3b !important;
}
.chromarium-admin-sidebar-sep {
    height: 1px;
    background: #333;
    margin: 8px 8px;
}
body.chromarium-admin-user {
    padding-left: 190px;
}
@media (max-width: 900px) {
    body.chromarium-admin-user { padding-left: 0; padding-top: 52px; }
    .chromarium-admin-sidebar {
        right: 0;
        bottom: auto;
        width: auto;
        height: 52px;
        padding: 6px 10px;
        border-right: 0;
        border-bottom: 3px solid #96c11f;
        flex-direction: row;
        align-items: center;
        overflow-x: auto;
        gap: 2px;
    }
    .chromarium-admin-sidebar-title,
    .chromarium-admin-sidebar-sep { display:none; }
    .chromarium-admin-sidebar a { white-space: nowrap; padding: 8px 10px; }
}

/* My Recipes v1 */
.recipes-shell{max-width:1380px}.recipes-hero,.recipe-editor-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding:38px 0 28px;border-bottom:1px solid #ddd}.recipes-hero h1,.recipe-editor-head h1{font-size:48px;margin:4px 0 8px}.recipe-primary,.recipe-secondary{display:inline-flex;align-items:center;justify-content:center;border:0;text-decoration:none;font:600 15px Fredoka,sans-serif;cursor:pointer}.recipe-primary{background:#111;color:#fff!important;padding:14px 20px}.recipe-secondary{color:#111;border:1px solid #ccc;padding:12px 16px;background:#fff}.recipe-notice{margin:20px 0;padding:14px 18px;background:#eff8d5;border-left:4px solid #8bc400}.recipes-empty{text-align:center;padding:90px 20px;border:1px dashed #ccc;margin-top:28px}.recipes-empty-icon{font-size:42px}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:22px;margin:28px 0 60px}.recipe-card{border:1px solid #ddd;background:#fff}.recipe-thumb{height:230px;background:#f3f3f3;display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:40px}.recipe-thumb img{width:100%;height:100%;object-fit:cover}.recipe-card-body{padding:20px}.recipe-card-body small,.recipe-steps-toolbar span{color:#6d9300;font-weight:700}.recipe-card-body h2{margin:5px 0 7px}.recipe-card-body p{min-height:42px;color:#777}.recipe-card-actions{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eee;padding-top:14px}.recipe-card-actions a{color:#111;font-weight:600}.recipe-card-actions button{border:0;background:none;color:#b52222;cursor:pointer}.recipe-editor{display:grid;grid-template-columns:minmax(330px,42%) 1fr;gap:26px;margin:28px 0 70px;align-items:start}.recipe-reference-panel,.recipe-steps-panel{border:1px solid #ddd;background:#fff;padding:24px}.recipe-field{display:block;margin-bottom:18px}.recipe-field>span,.step-top label>span,.step-product>span{display:block;font-size:13px;font-weight:700;margin-bottom:7px}.recipe-field input,.recipe-field textarea,.step-top input,.step-top select,.step-product select{width:100%;box-sizing:border-box;border:1px solid #ccc;background:#fff;color:#111;padding:12px;font:inherit}.recipe-reference-preview{aspect-ratio:4/5;background:#171717;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#fff;text-align:center}.recipe-reference-preview img{width:100%;height:100%;object-fit:contain}.recipe-reference-preview div{display:flex;flex-direction:column;gap:7px}.recipe-reference-preview span{color:#aaa}.recipe-upload{display:block;margin-top:12px;padding:13px;text-align:center;background:#111;color:#fff;cursor:pointer}.recipe-upload input{display:none}.recipe-remove-photo{display:block;margin-top:10px;font-size:13px}.recipe-steps-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.recipe-steps-toolbar strong{display:inline-flex;margin-left:7px;background:#111;color:#fff;width:25px;height:25px;border-radius:50%;align-items:center;justify-content:center}.recipe-steps-list{display:flex;flex-direction:column;gap:12px}.recipe-step{display:grid;grid-template-columns:38px 1fr;border:1px solid #ddd;background:#fafafa;transition:.15s}.recipe-step.dragging{opacity:.45;border-color:#8bc400}.step-drag{display:flex;align-items:center;justify-content:center;background:#111;color:#fff;cursor:grab;font-size:20px}.step-main{padding:16px}.step-top{display:grid;grid-template-columns:1fr 1fr 38px;gap:10px;align-items:end}.step-remove{height:43px;border:1px solid #ddd;background:#fff;color:#b52222;font-size:25px;cursor:pointer}.step-product{position:relative;display:block;margin:14px 0}.step-product select{padding-right:48px}.step-swatch{position:absolute;right:9px;bottom:8px;width:28px;height:28px;border:1px solid #aaa}.step-swatch.empty{background:linear-gradient(45deg,#eee 25%,#fff 25%,#fff 50%,#eee 50%,#eee 75%,#fff 75%);background-size:8px 8px!important}.recipe-savebar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:20px;padding-top:20px;border-top:1px solid #ddd;color:#777;font-size:13px}.main-nav a[href="recipes.php"]{position:relative}@media(max-width:900px){.recipe-editor{grid-template-columns:1fr}.recipes-hero,.recipe-editor-head{align-items:flex-start;flex-direction:column}.step-top{grid-template-columns:1fr 1fr 38px}}

/* My Recipes + integrated LAB v2 */
.recipe-hero-actions{display:flex;gap:10px;flex-wrap:wrap}.recipe-session-state{margin:12px 0 0;padding:8px 10px;font-size:11px;font-weight:700;background:#f2f2f2}.recipe-session-state.active{background:#edf8d2;color:#567600}.recipe-session-state.paused{background:#fff4d8;color:#8a6200}.recipe-session-state.finished{background:#eef3f5;color:#46606b}.recipe-card-actions-main{gap:10px;flex-wrap:wrap}.recipe-session-button{background:#8bc400!important;color:#111!important;text-decoration:none;padding:9px 12px}.recipe-card-delete{padding-top:10px;text-align:right}.recipe-card-delete button{border:0;background:none;color:#b52222;cursor:pointer}.session-start-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;margin:28px 0 60px}.session-start-card{border:1px solid #ddd;background:#fff;padding:18px}.session-start-thumb{height:190px;background:#161616;display:flex;align-items:center;justify-content:center;font-size:40px;overflow:hidden}.session-start-thumb img{width:100%;height:100%;object-fit:contain}.session-start-card h2{margin:14px 0}.session-head{display:flex;justify-content:space-between;gap:20px;align-items:end;padding:32px 0 22px}.session-head h1{font-size:42px;margin:4px 0}.session-status{font-size:11px;font-weight:700;padding:5px 8px;background:#eee}.session-status.active{background:#e8f7c9;color:#547400}.session-workspace{display:grid;grid-template-columns:260px minmax(400px,1fr) 330px;gap:18px;align-items:stretch}.session-reference,.virtual-palette,.session-colors{border:1px solid #ddd;background:#fff}.session-reference{background:#161616;min-height:560px;display:flex;align-items:center}.session-reference img{width:100%;max-height:650px;object-fit:contain}.session-no-ref{width:100%;text-align:center;color:#aaa;font-size:22px}.palette-title,.session-colors-head{padding:14px 16px;border-bottom:1px solid #ddd;font-weight:700;display:flex;justify-content:space-between}.palette-paper{margin:18px;min-height:480px;border:8px solid #27323a;border-radius:18px;background:#f2eee5;box-shadow:inset 0 0 20px #c9c4b9;display:flex;align-content:flex-start;align-items:flex-start;gap:14px;flex-wrap:wrap;padding:32px}.virtual-drop{width:38px;height:38px;border:0;background:transparent;padding:0}.virtual-drop span{display:block;width:30px;height:30px;margin:auto;border-radius:50% 50% 55% 45%;background:var(--drop-color);box-shadow:inset 5px 5px 7px rgba(255,255,255,.28),0 3px 5px rgba(0,0,0,.25);transform:rotate(45deg)}.palette-hint{padding:0 18px 18px;color:#777;font-size:12px}.session-color-list{max-height:590px;overflow:auto}.session-color{display:grid;grid-template-columns:34px 1fr 32px 30px 32px;gap:8px;align-items:center;padding:11px;border-bottom:1px solid #eee}.session-color>i{width:30px;height:30px;border-radius:50%;border:1px solid #aaa}.session-color strong,.session-color small{display:block}.session-color small{color:#777}.drop-plus,.drop-minus{width:30px;height:30px;border:1px solid #ccc;background:#fff;cursor:pointer;font-size:18px}.drop-count{text-align:center}.session-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:18px 0 60px;padding:18px;border:1px solid #ddd;background:#fff}.session-bottom span{display:block;color:#777;margin-top:5px}.session-actions{display:flex;gap:10px}.session-actions form{margin:0}
@media(max-width:1050px){.session-workspace{grid-template-columns:210px 1fr}.session-colors{grid-column:1/-1}.session-color-list{max-height:none;display:grid;grid-template-columns:repeat(2,1fr)}.palette-paper{min-height:420px}}
@media(max-width:700px){.recipes-hero h1,.recipe-editor-head h1,.session-head h1{font-size:34px}.recipe-hero-actions{width:100%}.recipe-hero-actions>*{flex:1}.session-head{align-items:flex-start;flex-direction:column}.session-workspace{display:flex;flex-direction:column}.session-reference{min-height:220px;max-height:300px}.session-reference img{height:300px}.virtual-palette{order:1}.session-colors{order:2}.session-reference{order:0}.palette-paper{margin:10px;min-height:330px;padding:20px;gap:9px;border-width:6px}.virtual-drop{width:34px;height:34px}.session-color-list{display:block;max-height:330px}.session-color{grid-template-columns:32px 1fr 38px 30px 38px;padding:12px 10px}.drop-plus,.drop-minus{width:38px;height:38px}.session-bottom{position:sticky;bottom:0;z-index:20;margin-bottom:0;flex-direction:column;align-items:stretch;box-shadow:0 -6px 20px rgba(0,0,0,.1)}.session-actions{display:grid;grid-template-columns:1fr 1fr}.session-actions button{width:100%}}

/* My Recipes editor v2: layout più pulito + responsive */
.recipe-editor{grid-template-columns:minmax(300px,38%) minmax(0,1fr);gap:32px}
.recipe-reference-panel,.recipe-steps-panel{border:1px solid #dedede;padding:28px;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.02)}
.recipe-reference-preview{border-radius:0;min-height:430px}
.recipe-steps-panel{min-width:0}
.recipe-steps-toolbar{padding-bottom:16px;border-bottom:1px solid #ececec;margin-bottom:18px}
.recipe-step{grid-template-columns:50px minmax(0,1fr);background:#fff;border:1px solid #dedede}
.step-drag{flex-direction:column;gap:9px;background:#141414;user-select:none}
.step-grip{font-size:18px;line-height:1;color:#fff}
.step-number{display:flex;width:24px;height:24px;align-items:center;justify-content:center;border-radius:50%;background:#8bc400;color:#111;font-size:12px}
.step-main{padding:20px}
.step-top{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:12px;align-items:end}
.step-top.has-custom{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px}
.step-top .custom-label-wrap[hidden]{display:none!important}
.step-remove{width:44px;height:44px;padding:0;display:flex;align-items:center;justify-content:center;border:1px solid #ddd;background:#fff;color:#b52222;font-size:24px;line-height:1}
.step-product{margin:18px 0}
.step-product>span{color:#191919}
.step-product select{min-height:48px;padding:12px 54px 12px 14px;white-space:nowrap;text-overflow:ellipsis}
.step-swatch{right:12px;bottom:9px;width:30px;height:30px;pointer-events:none}
.recipe-step textarea{min-height:80px;resize:vertical}
.recipe-savebar{background:#fafafa;margin:24px -28px -28px;padding:20px 28px;border-top:1px solid #e5e5e5}

@media(max-width:900px){
  .recipe-editor{grid-template-columns:1fr;gap:20px}
  .recipe-reference-panel,.recipe-steps-panel{padding:20px}
  .recipe-reference-preview{min-height:300px;max-height:520px}
  .recipe-savebar{margin:20px -20px -20px;padding:18px 20px}
}
@media(max-width:620px){
  .recipe-editor-head{padding-top:24px}
  .recipe-editor{margin-top:18px}
  .recipe-reference-panel,.recipe-steps-panel{padding:16px}
  .recipe-step{grid-template-columns:42px minmax(0,1fr)}
  .step-main{padding:14px}
  .step-top,.step-top.has-custom{grid-template-columns:minmax(0,1fr) 42px}
  .step-top.has-custom .custom-label-wrap{grid-column:1/-1;grid-row:2}
  .step-remove{width:42px;height:44px}
  .recipe-steps-toolbar{align-items:center;gap:12px}
  .recipe-steps-toolbar .recipe-primary{padding:12px 14px;font-size:13px}
  .recipe-savebar{margin:18px -16px -16px;padding:16px;flex-direction:column;align-items:stretch}
  .recipe-savebar .recipe-primary{width:100%}
  .recipe-reference-preview{min-height:260px}
}

/* My Recipes V5 · autocomplete catalogo completo + diluizione */
.product-autocomplete{position:relative}
.product-autocomplete .product-search{width:100%;box-sizing:border-box;min-height:48px;border:1px solid #ccc;background:#fff;color:#111;padding:12px 52px 12px 14px;font:inherit}
.product-autocomplete .product-search:focus{outline:2px solid rgba(139,196,0,.22);border-color:#8bc400}
.product-autocomplete .step-swatch{position:absolute;right:11px;top:10px;width:28px;height:28px;border:1px solid #aaa;pointer-events:none}
.product-suggestions{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:60;background:#fff;border:1px solid #cfcfcf;box-shadow:0 12px 30px rgba(0,0,0,.14);max-height:310px;overflow:auto}
.product-suggestion{width:100%;display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:center;text-align:left;border:0;border-bottom:1px solid #eee;background:#fff;padding:10px 12px;cursor:pointer;font:inherit;color:#111}
.product-suggestion:last-child{border-bottom:0}.product-suggestion:hover,.product-suggestion:focus{background:#f2f8df;outline:0}
.product-suggestion>i{width:27px;height:27px;border:1px solid #aaa;background:linear-gradient(45deg,#eee 25%,#fff 25%,#fff 50%,#eee 50%,#eee 75%,#fff 75%);background-size:8px 8px}
.product-suggestion strong,.product-suggestion small{display:block}.product-suggestion strong{font-size:14px}.product-suggestion small{margin-top:2px;color:#777;font-size:11px;text-transform:uppercase;letter-spacing:.02em}
.product-suggestion-empty{padding:13px;color:#777;font-size:13px}.product-helper{display:block;margin-top:6px;color:#777;font-size:11px}.dilution-field{margin-top:14px}
@media(max-width:700px){.product-suggestions{max-height:250px}.product-suggestion{min-height:52px}.product-autocomplete .product-search{font-size:16px}}

/* MY RECIPES v6 - compact blocks, OWN autocomplete, dilution presets */
.recipe-step{grid-template-columns:34px minmax(0,1fr)}
.step-drag{gap:5px;font-size:15px}.step-number{width:20px;height:20px;font-size:10px}
.step-main{padding:12px 14px}.step-top{gap:8px}.step-top select,.step-top input,.product-autocomplete .product-search,.dilution-control input{min-height:42px;padding:9px 44px 9px 11px}
.step-remove{width:40px;height:42px;font-size:21px}.step-product{margin:11px 0}.product-helper{margin-top:4px}
.recipe-step textarea{min-height:62px;padding:10px}.recipe-field{margin-bottom:12px}
.product-autocomplete .step-swatch{top:7px;right:8px;width:28px;height:28px;background-size:cover;background-position:center;background-repeat:no-repeat}
.product-autocomplete .step-swatch.image{background-color:#fff}
.product-suggestion>i.image{background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
.dilution-field{margin-top:9px}.dilution-control{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.dilution-presets{display:flex;gap:5px;flex-wrap:wrap}
.dilution-presets button{border:1px solid #cfcfcf;background:#fff;color:#111;border-radius:999px;min-width:46px;height:34px;padding:0 11px;font:600 12px Fredoka,sans-serif;cursor:pointer}
.dilution-presets button:hover,.dilution-presets button.active{border-color:#8bc400;background:#eff8d5;color:#476400}
.dilution-control input{flex:1;min-width:180px;border:1px solid #ccc;background:#fff;color:#111;font:inherit;padding-right:11px}
@media(max-width:700px){.recipe-step{grid-template-columns:30px minmax(0,1fr)}.step-main{padding:11px}.dilution-control{align-items:stretch}.dilution-presets{width:100%}.dilution-presets button{flex:1}.dilution-control input{width:100%;min-width:0}.recipe-step textarea{min-height:58px}}
.session-color>i{background:linear-gradient(45deg,#eee 25%,#fff 25%,#fff 50%,#eee 50%,#eee 75%,#fff 75%);background-size:8px 8px}
.session-color>i.image{background-size:cover;background-position:center;background-repeat:no-repeat;border-radius:8px}

.notification-bell{position:relative;text-decoration:none;font-size:20px;margin-right:10px}.notification-bell span{position:absolute;top:-8px;right:-10px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:#d7263d;color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center}.alpha-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.alpha-actions textarea,.alpha-chat-log+form textarea{width:100%;box-sizing:border-box}.alpha-chat-log article{padding:12px 0;border-bottom:1px solid #ddd}.alpha-chat-log article small{margin-left:10px;color:#777}.notification-unread{border-left:5px solid #9fca22}.notification-list{display:grid;gap:14px}
/* LAB: override finale perché questo foglio viene caricato dopo chromarium.css */
.lab-room .lab-phase-history>div,
.lab-room .lab-draggable-product,
.lab-shell .lab-product-choice{
    background:#fff !important;
    color:#171717 !important;
    border:1px solid #d8d8d8 !important;
    box-shadow:0 2px 7px rgba(0,0,0,.06);
}
.lab-room .lab-phase-history>div b,
.lab-room .lab-phase-history>div span,
.lab-room .lab-draggable-product b,
.lab-shell .lab-product-choice b{
    color:#171717 !important;
}
.lab-room .lab-phase-history>div small,
.lab-room .lab-draggable-product small,
.lab-shell .lab-product-choice small{
    color:#666 !important;
}
.lab-room .lab-reference,
.lab-room .lab-palette-stage,
.lab-room .lab-session-side,
.lab-shell .lab-start-form,
.lab-shell .lab-card{
    background:#fff !important;
    color:#171717 !important;
}
.lab-room .lab-palette-spot{width:52px!important;height:52px!important;min-height:52px!important;padding:0!important;cursor:grab;touch-action:none;overflow:visible!important}
.lab-room .lab-palette-spot.is-moving{cursor:grabbing;z-index:30;box-shadow:0 12px 22px rgba(0,0,0,.25)!important}
.lab-room .lab-palette-spot::after{left:11px!important;top:8px!important;width:12px!important;height:6px!important}
.lab-spot-tooltip{position:absolute;z-index:50;left:50%;bottom:calc(100% + 10px);width:max-content;max-width:220px;transform:translate(-50%,6px);padding:8px 10px;border-radius:8px;background:#17131d;color:#fff!important;text-align:left;line-height:1.25;box-shadow:0 8px 24px rgba(0,0,0,.25);opacity:0;visibility:hidden;pointer-events:none;transition:.15s ease}
.lab-spot-tooltip::after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);border:6px solid transparent;border-top-color:#17131d}.lab-spot-tooltip b,.lab-spot-tooltip small{display:block;color:#fff!important}.lab-palette-spot:hover .lab-spot-tooltip,.lab-palette-spot:focus-visible .lab-spot-tooltip{opacity:1;visibility:visible;transform:translate(-50%,0)}
.lab-method-picker{display:grid!important;grid-template-columns:repeat(3,1fr);gap:8px;max-height:none!important}
.lab-method-picker legend{grid-column:1/-1;font-weight:700}
.lab-method-picker label{display:block!important}
.lab-method-picker input{position:absolute;opacity:0;pointer-events:none}
.lab-method-picker span{display:grid;place-items:center;min-height:54px;padding:7px;border:1px solid #ccc;background:#fff;color:#171717;border-radius:8px;text-align:center;cursor:pointer}
.lab-method-picker input:checked+span{border-color:#96c11f;background:#eff8d9;box-shadow:inset 0 0 0 2px #96c11f}
.lab-admin-actions{display:flex;gap:10px;flex-wrap:wrap}.lab-admin-actions form{margin:0}.lab-danger{height:100%;padding:12px 16px;border:1px solid #b62929;background:#fff;color:#a51f1f;font-weight:800;cursor:pointer}.lab-danger:hover{background:#b62929;color:#fff}
.lab-reference-grid figure{position:relative}.lab-reference-open{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.lab-reference-open img{display:block;width:100%;height:132px!important;object-fit:cover;border-radius:10px 10px 0 0}.lab-photo-delete{position:absolute;right:6px;top:6px;margin:0}.lab-photo-delete button{width:28px;height:28px;border:0;border-radius:50%;background:rgba(15,15,15,.82);color:#fff;font-size:19px;line-height:1;cursor:pointer}.lab-photo-delete button:hover{background:#b62929}
.lab-photo-lightbox{width:min(94vw,1200px);height:min(90vh,900px);padding:44px 18px 18px;border:0;border-radius:14px;background:#111}.lab-photo-lightbox::backdrop{background:rgba(0,0,0,.82)}.lab-photo-lightbox img{width:100%;height:100%;object-fit:contain}.lab-photo-lightbox>button{position:absolute;right:12px;top:8px;border:0;background:transparent;color:#fff;font-size:32px;cursor:pointer}
.lab-upload-loader{position:fixed;z-index:99999;inset:0;display:grid;place-content:center;justify-items:center;gap:16px;background:rgba(255,255,255,.9);color:#171717}.lab-upload-loader[hidden]{display:none!important}.lab-upload-loader img{width:112px;height:112px;animation:lab-logo-roll .85s linear infinite}.lab-upload-loader strong{font-size:18px}@keyframes lab-logo-roll{to{transform:rotate(360deg)}}
.lab-shell{max-width:1500px!important;background:#fff!important;color:#171717!important}.lab-shell .lab-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:30px 34px 22px;border:1px solid #e0e0e0;border-radius:16px;background:#fff}.lab-shell .lab-filters{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.lab-shell .lab-filters a{padding:9px 15px;border:1px solid #d5d5d5;border-radius:999px;background:#fff;color:#222;text-decoration:none}.lab-shell .lab-filters a.active{border-color:#96c11f;background:#96c11f;color:#111;font-weight:800}.lab-shell .lab-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(250px,330px))!important;gap:20px!important;align-items:start}.lab-shell .lab-card{overflow:hidden;border:1px solid #ddd!important;border-radius:14px!important;box-shadow:0 5px 18px rgba(0,0,0,.07)}.lab-shell .lab-card-image{height:auto!important;min-height:0!important;aspect-ratio:3/4;overflow:hidden;background:#171717}.lab-shell .lab-card-image img{display:block;width:100%!important;height:100%!important;object-fit:contain!important}.lab-shell .lab-card-body{padding:18px!important}.lab-shell .lab-card-body h2{margin:5px 0 12px}.lab-shell .lab-open{display:inline-block;margin-top:12px;font-weight:800;color:#171717}
@media(max-width:700px){.lab-shell .lab-hero{align-items:stretch;flex-direction:column;padding:22px}.lab-room .lab-palette-spot{width:48px!important;height:48px!important;min-height:48px!important}}

/* LAB 2026-09-12: visibilita, workspace adattivo e drag mobile ravvicinato. */
.lab-room-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.lab-inline-visibility label{display:flex;align-items:center;gap:8px;font-weight:700}.lab-inline-visibility select{padding:10px;border:1px solid #ccc;border-radius:8px;background:#fff}.lab-visibility-picker{display:grid!important;grid-template-columns:1fr 1fr;gap:8px;max-height:none!important}.lab-visibility-picker legend{grid-column:1/-1;font-weight:700}.lab-visibility-picker label{display:block!important}.lab-visibility-picker input{position:absolute;opacity:0}.lab-visibility-picker span{display:grid;place-items:center;min-height:48px;border:1px solid #ccc;border-radius:8px;background:#fff;color:#171717;cursor:pointer}.lab-visibility-picker input:checked+span{border-color:#96c11f;background:#eff8d9;box-shadow:inset 0 0 0 2px #96c11f}
.lab-room .lab-wet-palette{overflow:visible!important}.lab-room .lab-palette-stage{position:relative;isolation:isolate}.lab-room .lab-palette-spot{z-index:2}.lab-room .lab-palette-spot:hover,.lab-room .lab-palette-spot:focus-visible{z-index:10000}.lab-room .lab-spot-tooltip{z-index:10001!important}
.lab-palette-stage.workspace-airbrush_cup .lab-wet-palette{border-radius:42% 42% 48% 48%;background:radial-gradient(circle at 50% 32%,#e7e7e7 0,#9c9c9c 52%,#4b4b4b 100%)}.lab-palette-stage.workspace-metal_dish .lab-wet-palette{border-radius:50%;background:radial-gradient(circle,#f7f7f7 0,#aaa 58%,#3d3d3d 100%)}.lab-palette-stage.workspace-marker .lab-wet-palette,.lab-palette-stage.workspace-direct_use .lab-wet-palette{display:none}.lab-summary-card{margin:20px 0;padding:20px;border:1px solid #ddd;border-radius:14px;background:#fff}.lab-summary-card img{display:block;width:min(100%,520px);max-height:80vh;object-fit:contain;margin:auto}
@media(max-width:980px){.lab-manual-grid{display:flex!important;flex-direction:column;gap:10px!important}.lab-reference{order:1;width:100%;box-sizing:border-box}.lab-session-side{order:2;width:100%;box-sizing:border-box}.lab-palette-stage{order:3;width:100%;box-sizing:border-box}.lab-session-products{max-height:230px}.lab-new-phase{margin-bottom:0}.lab-stage-title{margin-top:0}.lab-room-top{align-items:flex-start;gap:12px}.lab-room-actions{justify-content:flex-end}}
@media(max-width:560px){.lab-room .lab-session-side{padding-bottom:10px}.lab-room .lab-palette-stage{padding-top:10px}.lab-visibility-picker{grid-template-columns:1fr}.lab-room-actions{width:100%;justify-content:space-between}.lab-inline-visibility{flex:1}.lab-inline-visibility label{justify-content:space-between}.lab-session-products{max-height:190px}}

/* LAB v21: contrasto visibilita e workspace orizzontali persistenti. */
.lab-inline-visibility,.lab-inline-visibility label{color:#171717!important}.lab-inline-visibility select,.lab-inline-visibility select option{background:#fff!important;color:#171717!important;-webkit-text-fill-color:#171717!important}.lab-inline-visibility select{min-width:128px;font-weight:800}
.lab-workspace-section{min-width:0;padding:18px;border:1px solid #dedede;border-radius:12px;background:#fff;color:#171717}.lab-workspace-strip{display:flex;gap:14px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;padding:4px 4px 16px;scrollbar-width:thin}.lab-workspace-card{flex:0 0:min(620px,88vw);scroll-snap-align:center;border:2px solid #ddd;border-radius:16px;padding:12px;background:#fafafa;transition:border-color .2s,box-shadow .2s}.lab-workspace-card.is-selected{border-color:#96c11f;box-shadow:0 0 0 3px #96c11f33}.lab-workspace-card header{padding:2px 4px 10px;font-weight:900;color:#171717}.lab-workspace-card .lab-wet-palette{min-height:500px;overflow:visible!important}.lab-workspace-card.workspace-airbrush_cup .lab-wet-palette{border-radius:42% 42% 48% 48%;background:radial-gradient(circle at 50% 32%,#e7e7e7 0,#9c9c9c 52%,#4b4b4b 100%)}.lab-workspace-card.workspace-metal_dish .lab-wet-palette{border-radius:50%;background:radial-gradient(circle,#f7f7f7 0,#aaa 58%,#3d3d3d 100%)}.lab-workspace-card.workspace-marker .lab-wet-palette,.lab-workspace-card.workspace-direct_use .lab-wet-palette{min-height:180px;background:repeating-linear-gradient(135deg,#f7f7f7,#f7f7f7 18px,#ededed 18px,#ededed 36px)}
@media(max-width:980px){.lab-workspace-section{order:3;width:100%;box-sizing:border-box}.lab-workspace-card{flex-basis:92%}.lab-workspace-card .lab-wet-palette{min-height:390px}}
@media(max-width:560px){.lab-workspace-section{padding:10px}.lab-workspace-card{flex-basis:94%;padding:8px}.lab-workspace-card .lab-wet-palette{min-height:340px}.lab-workspace-card.workspace-marker .lab-wet-palette,.lab-workspace-card.workspace-direct_use .lab-wet-palette{min-height:150px}}

/* LAB v22: vero carosello, un solo workspace grande per schermata. */
.lab-workspace-section{overflow:hidden}.lab-workspace-strip{display:flex!important;width:100%;gap:0!important;padding:0!important;overflow-x:auto!important;overflow-y:visible;scroll-snap-type:x mandatory!important;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none}.lab-workspace-strip::-webkit-scrollbar{display:none}.lab-workspace-card{box-sizing:border-box!important;flex:0 0 100%!important;width:100%!important;min-width:100%!important;max-width:100%!important;margin:0!important;scroll-snap-align:start!important;scroll-snap-stop:always;padding:14px!important;border-radius:16px}.lab-workspace-card+ .lab-workspace-card{margin-left:0!important}.lab-workspace-card .lab-wet-palette{width:100%!important;min-height:520px}.lab-workspace-card header{min-height:38px;font-size:20px;display:flex;align-items:center}.lab-workspace-card.is-selected{box-shadow:inset 0 0 0 3px #96c11f;border-color:#96c11f}
@media(max-width:980px){.lab-workspace-card{flex-basis:100%!important;width:100%!important;min-width:100%!important;max-width:100%!important}.lab-workspace-card .lab-wet-palette{min-height:430px}}
@media(max-width:560px){.lab-workspace-section{padding:10px!important}.lab-workspace-card{padding:10px!important}.lab-workspace-card .lab-wet-palette{min-height:390px}.lab-workspace-card.workspace-marker .lab-wet-palette,.lab-workspace-card.workspace-direct_use .lab-wet-palette{min-height:240px}}

/* LAB v23: il workspace visibile determina automaticamente il metodo di applicazione. */
.lab-selected-workspace{margin:2px 0 14px;padding:12px 14px;border:2px solid #96c11f;border-radius:10px;background:#eff8d9;color:#171717;font-size:18px;font-weight:900;text-align:center}

/* LAB v23 reference reali: coppa aerografo e piattino metallico visti dall'alto. */
.lab-workspace-card.workspace-airbrush_cup .lab-wet-palette,
.lab-workspace-card.workspace-metal_dish .lab-wet-palette{position:relative;width:min(100%,560px)!important;min-height:0!important;aspect-ratio:1/1;margin:0 auto;border-radius:50%!important;overflow:visible!important}
.lab-workspace-card.workspace-airbrush_cup .lab-wet-palette{border:16px solid #bfc4c5;box-shadow:inset 0 0 0 5px #53595b,inset 0 0 32px 18px #050606,0 12px 24px rgba(0,0,0,.2);background:radial-gradient(circle at 50% 50%,#050505 0 3.3%,#3d4243 3.5% 8%,#777e80 18%,#292d2e 49%,#0b0d0e 73%,#52595b 88%,#d7dcdd 100%)}
.lab-workspace-card.workspace-airbrush_cup .lab-wet-palette::before{content:"";position:absolute;z-index:1;left:50%;top:50%;width:8%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 38% 32%,#333 0,#090909 35%,#000 72%);box-shadow:0 2px 7px #000,inset 0 0 0 2px #4b4b4b;pointer-events:none}
.lab-workspace-card.workspace-metal_dish .lab-wet-palette{border:13px solid #9da3a4;box-shadow:inset 0 0 0 5px #e8ebeb,inset 0 0 24px 7px rgba(0,0,0,.42),0 12px 24px rgba(0,0,0,.18);background:radial-gradient(circle at 48% 45%,#434849 0 31%,#777d7e 39%,#e8ebeb 52%,#777d7e 62%,#f7f8f8 76%,#575d5e 89%,#d9dddd 100%)}
@media(max-width:560px){.lab-workspace-card.workspace-airbrush_cup .lab-wet-palette,.lab-workspace-card.workspace-metal_dish .lab-wet-palette{width:100%!important}.lab-workspace-card.workspace-airbrush_cup .lab-wet-palette{border-width:11px}.lab-workspace-card.workspace-metal_dish .lab-wet-palette{border-width:10px}}

/* v24 · workspace Dry Brush e pulizia Airbrush Cup */
.lab-workspace-card header{justify-content:space-between;gap:12px}
.lab-clear-airbrush{margin-left:auto;border:0;border-radius:999px;background:#111;color:#fff;padding:8px 14px;font:inherit;font-size:11px;font-weight:900;letter-spacing:.05em;cursor:pointer}
.lab-clear-airbrush:hover{background:#a32d2d}.lab-clear-airbrush:disabled{opacity:.5;cursor:wait}
.lab-workspace-nav{display:flex;align-items:center;gap:10px;margin:0 0 12px}.lab-workspace-arrow{flex:0 0 42px;height:42px;border:1px solid #cfcfcf;border-radius:50%;background:#111;color:#fff;font-size:30px;line-height:1;cursor:pointer}.lab-workspace-arrow:hover{background:#96c11f;color:#111}.lab-workspace-tabs{display:flex;justify-content:center;gap:6px;min-width:0;flex:1}.lab-workspace-tabs button{padding:8px 11px;border:1px solid #d6d6d6;border-radius:999px;background:#fff;color:#171717;font-weight:800;cursor:pointer}.lab-workspace-tabs button.is-active{border-color:#96c11f;background:#eff8d9;box-shadow:inset 0 0 0 1px #96c11f}
.lab-workspace-card.workspace-direct_use .lab-wet-palette{display:block;position:relative;min-height:420px!important;overflow:hidden!important;border:2px solid #cbc8c2;border-radius:14px;background:linear-gradient(rgba(248,247,243,.62),rgba(239,237,231,.7)),url('../img/dry-brush-texture-reference.jpg') center/cover no-repeat;box-shadow:inset 0 0 32px rgba(39,35,29,.12)}
.lab-workspace-card.workspace-direct_use .lab-wet-palette::after{content:none}
.lab-workspace-card.workspace-direct_use .lab-palette-spot{z-index:2;width:78px!important;height:54px!important;border-radius:61% 39% 53% 47%/44% 58% 42% 56%!important;box-shadow:inset 7px 5px 12px rgba(255,255,255,.25),inset -7px -6px 14px rgba(0,0,0,.18),0 5px 9px rgba(0,0,0,.18)!important}.lab-workspace-card.workspace-direct_use .lab-palette-spot:nth-child(3n+2){width:68px!important;height:58px!important;border-radius:43% 57% 38% 62%/59% 42% 58% 41%!important}.lab-workspace-card.workspace-direct_use .lab-palette-spot:nth-child(3n){width:82px!important;height:50px!important;border-radius:55% 45% 66% 34%/39% 61% 43% 57%!important}
@media(max-width:700px){.lab-workspace-tabs button{font-size:0;width:38px;height:38px;padding:0}.lab-workspace-tabs button::first-letter{font-size:18px}.lab-workspace-arrow{flex-basis:38px;width:38px;height:38px}}
@media(max-width:560px){.lab-workspace-card.workspace-direct_use .lab-wet-palette{min-height:340px!important}.lab-clear-airbrush{padding:7px 10px;font-size:10px}}


/* Chromarium Test 2 · 2026-09-14: image swatches + Mix Match redesign */
.lab-palette-spot.lab-palette-spot-image{
    background-repeat:no-repeat!important;
    background-position:center!important;
    background-size:cover!important;
    border-color:#8f8f8f!important;
}
.lab-palette-spot.lab-palette-spot-image::after{display:none!important}
.lab-draggable-product>span.lab-product-visual.lab-product-visual-image,
.lab-product-result-swatch.lab-product-result-image{background:#e9e9e9!important}
.lab-product-visual-image img,.lab-product-result-image img{
    width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;background:transparent!important
}

.lab-mix-match-dialog{
    width:min(780px,calc(100% - 26px))!important;
    max-height:min(88vh,860px);
    padding:0!important;
    overflow:auto!important;
    border:0!important;
    border-radius:24px!important;
    background:#f7f7f4!important;
    box-shadow:0 30px 90px #0007!important;
}
.lab-mix-match-dialog::backdrop{background:rgba(10,10,10,.72)!important;backdrop-filter:blur(3px)}
.lab-mix-match-head{
    position:sticky;top:0;z-index:5;display:flex!important;align-items:center!important;justify-content:space-between!important;
    padding:22px 26px!important;border:0!important;background:#111!important;color:#fff!important
}
.lab-mix-match-head .eyebrow{margin:0 0 4px!important;color:#a8cf2a!important;font-size:10px!important;letter-spacing:.16em!important;font-weight:900!important}
.lab-mix-match-head h2{margin:0!important;color:#fff!important;font-size:27px!important;line-height:1!important;letter-spacing:-.025em}
.lab-mix-match-head>[data-close]{width:38px!important;height:38px!important;border:1px solid #ffffff30!important;border-radius:50%!important;background:#ffffff12!important;color:#fff!important;font-size:24px!important;line-height:1!important;cursor:pointer!important}
.lab-mix-match-head>[data-close]:hover{background:#9bc52b!important;color:#111!important;border-color:#9bc52b!important}
.lab-mix-match-content{padding:22px 26px 28px!important}
.lab-mix-match-loading{display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;padding:38px!important;border:1px solid #ddd!important;border-radius:16px!important;background:#fff!important;color:#555!important}
.lab-mix-match-loading>span{width:14px;height:14px;border:3px solid #ddd;border-top-color:#9bc52b;border-radius:50%;animation:labMixSpin .8s linear infinite}
@keyframes labMixSpin{to{transform:rotate(360deg)}}
.lab-mix-match-source{
    display:grid!important;grid-template-columns:108px minmax(0,1fr)!important;gap:20px!important;align-items:center!important;
    margin:0 0 22px!important;padding:20px!important;border:1px solid #deded8!important;border-radius:18px!important;
    background:linear-gradient(135deg,#fff,#f1f5e7)!important;box-shadow:0 8px 26px #1110000d!important
}
.lab-mix-source-orb{display:block!important;width:96px!important;height:96px!important;border-radius:50%!important;background:var(--mix-source,#777)!important;border:7px solid #fff!important;box-shadow:0 0 0 1px #d0d0ca,0 12px 26px #0002,inset 0 0 0 1px #0001!important}
.lab-mix-source-copy{min-width:0}.lab-mix-workspace-chip{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:999px;background:#111;color:#fff;font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.lab-mix-source-copy>small{display:block!important;margin-top:10px!important;color:#789e12!important;font-size:9px!important;font-weight:900!important;letter-spacing:.14em!important}
.lab-mix-source-copy>strong{display:block!important;margin-top:2px!important;color:#111!important;font-size:25px!important;line-height:1!important;letter-spacing:.03em!important}
.lab-mix-source-copy>p{max-width:520px;margin:7px 0 0!important;color:#666!important;font-size:12px!important;line-height:1.45!important}
.lab-mix-match-section-title{display:flex;align-items:end;justify-content:space-between;gap:10px;margin:0 2px 10px}.lab-mix-match-section-title>span{font-size:11px;font-weight:900;letter-spacing:.12em;color:#111}.lab-mix-match-section-title>small{font-size:9px;font-weight:800;color:#8a8a84}
.lab-mix-match-list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}
.lab-mix-match-list article{
    position:relative;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;
    min-width:0;padding:15px!important;border:1px solid #ddd!important;border-radius:16px!important;background:#fff!important;box-shadow:0 6px 20px #0000000b!important
}
.lab-mix-match-list article.best{border:2px solid #9bc52b!important;background:#fbfff3!important;box-shadow:0 8px 24px #7b9d171c!important}
.lab-mix-rank{position:absolute;top:10px;right:10px;z-index:2;padding:5px 7px;border-radius:999px;background:#efefec;color:#666;font-size:7.5px;font-weight:900;letter-spacing:.08em}.lab-mix-match-list article.best .lab-mix-rank{background:#9bc52b;color:#111}
.lab-mix-match-swatch{display:block!important;width:74px!important;height:74px!important;margin:12px auto 13px!important;border-radius:50%!important;background:var(--mix-swatch,#777)!important;border:5px solid #fff!important;box-shadow:0 0 0 1px #d4d4ce,0 8px 18px #0002!important;overflow:hidden!important}
.lab-mix-match-swatch img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.lab-mix-match-copy{display:flex!important;flex:1!important;flex-direction:column!important;min-width:0!important;text-align:center!important}
.lab-mix-match-copy>small{display:block!important;color:#789e12!important;font-size:8px!important;font-weight:900!important;letter-spacing:.06em!important;text-transform:uppercase!important}
.lab-mix-match-copy>strong{display:block!important;min-height:34px;margin-top:4px!important;color:#111!important;font-size:13px!important;line-height:1.2!important}
.lab-mix-code{display:block;margin-top:2px;color:#898984;font-size:9px;font-weight:700}
.lab-mix-similarity{margin:12px 0 14px;text-align:left}.lab-mix-similarity>div{display:flex;align-items:center;justify-content:space-between;gap:6px}.lab-mix-similarity b{font-size:15px;color:#111}.lab-mix-similarity span{font-size:8px;font-weight:900;color:#6d8b14;text-transform:uppercase}.lab-mix-similarity i{position:relative;display:block;height:5px;margin-top:6px;border-radius:999px;background:#e7e7e3;overflow:hidden}.lab-mix-similarity i::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--similarity,0%);border-radius:inherit;background:#9bc52b}
.lab-mix-match-actions{display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;flex-wrap:wrap!important;margin-top:auto!important}.lab-mix-match-actions form{margin:0!important}.lab-mix-match-actions button,.lab-mix-state{min-height:30px!important;border:1px solid #c9c9c4!important;border-radius:999px!important;background:#fff!important;color:#111!important;padding:0 11px!important;font-size:8px!important;font-weight:900!important;letter-spacing:.03em!important}.lab-mix-match-actions button:hover{border-color:#9bc52b!important;background:#f3f8e5!important}.lab-mix-state.own{border-color:#9bc52b!important;background:#9bc52b!important;color:#111!important}.lab-mix-state.wish{background:#efefec!important;color:#555!important}
.lab-mix-match-empty{margin:0!important;padding:28px!important;border:1px dashed #c9c9c4!important;border-radius:14px!important;background:#fff!important;color:#666!important;text-align:center!important}
@media(max-width:720px){.lab-mix-match-dialog{width:calc(100% - 18px)!important;border-radius:18px!important}.lab-mix-match-head{padding:18px 18px!important}.lab-mix-match-content{padding:16px 16px 20px!important}.lab-mix-match-source{grid-template-columns:72px 1fr!important;padding:15px!important;gap:14px!important}.lab-mix-source-orb{width:64px!important;height:64px!important;border-width:4px!important}.lab-mix-source-copy>strong{font-size:20px!important}.lab-mix-match-list{grid-template-columns:1fr!important}.lab-mix-match-list article{display:grid!important;grid-template-columns:68px minmax(0,1fr)!important;column-gap:12px!important}.lab-mix-match-swatch{grid-row:1/4;width:58px!important;height:58px!important;margin:15px 0 0!important}.lab-mix-match-copy{text-align:left!important}.lab-mix-match-copy>strong{min-height:0}.lab-mix-match-actions{grid-column:1/-1!important;justify-content:flex-start!important;margin-top:12px!important}.lab-mix-rank{top:9px;right:9px}}

/* Metallic Scan: family-first result cards */
.scan-auto-recipe.is-metal-family{border:2px solid #d9dfc7;background:#fff}.scan-auto-recipe.is-metal-family .scan-auto-head{padding-bottom:9px;border-bottom:1px solid #e7e7e2}.scan-auto-recipe.is-metal-family .scan-auto-head>span{background:#111;color:#fff}.scan-auto-recipe.is-metal-family .scan-auto-head strong{display:block;font-size:14px}.scan-metal-source{display:block;margin-top:2px;color:#888;font-size:8px}.scan-auto-recipe.metal-family-gold{box-shadow:inset 4px 0 #c9a54f}.scan-auto-recipe.metal-family-silver{box-shadow:inset 4px 0 #a7adb1}.scan-auto-recipe.metal-family-copper{box-shadow:inset 4px 0 #aa6d4b}

/* COMMUNITY V5 · work detail, rating, moderated comments */
.community-work-card{position:relative}
.community-work-card .community-work-image{display:block;text-decoration:none}
.community-work-open{display:block!important;color:inherit!important;text-decoration:none!important}
.community-like-only{position:absolute;z-index:4;right:10px;top:10px;margin:0!important}
.community-like-only button{display:inline-flex;align-items:center;gap:4px;min-width:34px;height:34px;padding:0 9px;border:1px solid #ffffff33;border-radius:999px;background:rgba(15,15,15,.85);color:#fff;font-weight:900;cursor:pointer;box-shadow:0 4px 14px #0004}
.community-like-only button.is-voted{background:#111;color:#9bc52b}.community-like-only button span{font-size:11px}
.community-work-detail-shell{max-width:1380px!important;background:#f6f6f3!important;padding-bottom:50px!important}
.community-back-link{display:inline-flex;margin:24px 0 14px;color:#111;font-weight:900;text-decoration:none}
.community-detail-hero{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:36px;padding:28px;border:1px solid #ddd;border-top:6px solid #9bc52b;border-radius:18px;background:#fff;box-shadow:0 10px 35px #0000000b}
.community-detail-photo{min-height:420px;border-radius:14px;overflow:hidden;background:#111}.community-detail-photo img{display:block;width:100%;height:100%;max-height:680px;object-fit:contain;background:#111}
.community-detail-copy{display:flex;flex-direction:column;justify-content:center}.community-detail-copy h1{margin:6px 0 20px;font-size:clamp(36px,5vw,68px);line-height:.98;letter-spacing:-.04em}.community-detail-author{display:flex;align-items:center;gap:12px;margin-bottom:22px}.community-detail-author img{width:48px;height:48px;object-fit:cover;border-radius:50%}.community-detail-author small,.community-detail-meta small{display:block;color:#7a7a74;font-size:9px;font-weight:900;letter-spacing:.12em}.community-detail-author strong{font-size:18px}.community-detail-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.community-detail-meta>div{padding:14px;border:1px solid #e0e0dc;border-radius:12px;background:#fafafa}.community-detail-meta strong{display:block;margin-top:5px;font-size:18px}.community-detail-like{margin-top:18px}.community-detail-like button{border:0;border-radius:999px;background:#111;color:#fff;padding:10px 16px;font-weight:900;cursor:pointer}.community-detail-like button.is-voted{color:#9bc52b}
.community-detail-section{margin-top:22px;padding:26px;border:1px solid #ddd;border-radius:18px;background:#fff}.community-detail-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.community-detail-section-head h2{margin:3px 0 0;font-size:30px}.community-detail-muted{color:#777}
.community-phase-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.community-phase-list article{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid #e1e1dd;border-radius:12px;background:#fafafa}.community-phase-list article>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#111;color:#fff;font-weight:900}.community-phase-list strong{display:block}.community-phase-list small{display:block;margin-top:3px;color:#777}
.community-product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.community-product-grid article{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #e0e0dc;border-radius:12px}.community-product-swatch{width:48px;height:48px;flex:0 0 48px;border-radius:10px;background:var(--swatch,#222);overflow:hidden;box-shadow:inset 0 0 0 1px #0001}.community-product-swatch img{width:100%;height:100%;object-fit:cover}.community-product-grid small,.community-product-grid span{display:block;color:#777;font-size:10px}.community-product-grid strong{display:block;margin:2px 0;font-size:14px}
.community-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.community-gallery-grid a{overflow:hidden;border:1px solid #ddd;border-radius:12px;background:#111;color:#fff;text-decoration:none}.community-gallery-grid img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}.community-gallery-grid small{display:block;padding:8px 10px;font-size:9px;letter-spacing:.08em}
.community-rating-section{display:grid;grid-template-columns:1fr 1fr;gap:28px}.community-rating-section>.community-detail-section-head{grid-column:1/-1;margin-bottom:0}.community-star-form,.community-comment-area{padding:18px;border:1px solid #e1e1dd;border-radius:14px;background:#fafafa}.community-stars{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px;margin-bottom:14px}.community-stars input{position:absolute;opacity:0}.community-stars label{font-size:42px;line-height:1;color:#ccc;cursor:pointer}.community-stars input:checked~label,.community-stars label:hover,.community-stars label:hover~label{color:#9bc52b}.community-star-form button,.community-comment-area button{border:0;background:#111;color:#fff;padding:11px 16px;font-weight:900;cursor:pointer}.community-comment-area h3{margin-top:0}.community-comment-area textarea{width:100%;box-sizing:border-box;margin:10px 0;padding:12px;border:1px solid #ccc;border-radius:10px;resize:vertical;background:#fff;color:#111}
.community-comments-list{display:grid;gap:10px}.community-comments-list article{display:flex;gap:12px;padding:14px;border:1px solid #e1e1dd;border-radius:12px;background:#fafafa}.community-comments-list article>img{width:42px;height:42px;flex:0 0 42px;border-radius:50%;object-fit:cover}.community-comments-list article>div{flex:1}.community-comments-list article>div>div{display:flex;justify-content:space-between;gap:10px}.community-comments-list small{color:#888}.community-comments-list p{margin:8px 0 0;line-height:1.5}

/* LAB V5 · student sessions inside GSW Team LAB */
.lab-mentor-section{margin:20px 0 28px;padding:22px;border:1px solid #dce6c1;border-top:5px solid #9bc52b;border-radius:16px;background:#f8fbf0}.lab-mentor-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:16px}.lab-mentor-heading small{color:#789e12;font-weight:900;letter-spacing:.12em}.lab-mentor-heading h2{margin:4px 0 0}.lab-mentor-heading p{max-width:600px;margin:0;color:#666}.lab-mentor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,320px));gap:14px}.lab-mentor-card{overflow:hidden;border:1px solid #d7ddc6;border-radius:14px;background:#fff;box-shadow:0 6px 20px #0000000b}.lab-mentor-cover{position:relative;aspect-ratio:16/10;background:#111;display:grid;place-items:center;overflow:hidden}.lab-mentor-cover img{width:100%;height:100%;object-fit:cover}.lab-mentor-cover>span{font-size:42px}.lab-mentor-cover .lab-status{position:absolute;right:8px;top:8px}.lab-mentor-card-body{padding:15px}.lab-mentor-card-body>small{color:#789e12;font-size:9px;font-weight:900;letter-spacing:.12em}.lab-mentor-card-body>strong{display:block;margin:2px 0 8px}.lab-mentor-card-body h3{margin:0 0 6px}.lab-mentor-card-body p{margin:0 0 12px;color:#777;font-size:11px}.lab-mentor-card-body a{font-weight:900;color:#111;text-decoration:none}
@media(max-width:760px){.community-detail-hero{grid-template-columns:1fr;padding:18px}.community-detail-photo{min-height:300px}.community-detail-meta{grid-template-columns:1fr}.community-rating-section{grid-template-columns:1fr}.community-detail-section-head,.lab-mentor-heading{align-items:flex-start;flex-direction:column}.community-detail-section{padding:18px}.community-work-detail-shell{padding-left:12px!important;padding-right:12px!important}}

/* Chromarium bottle care — SHAKE reminder */
.state-button.shake{background:#ffb020;border-color:#e79a00;color:#171510;font-weight:700;animation:chromarium-shake-pulse 1.8s ease-in-out infinite}
.state-button.shake:hover{background:#ffc14d}
@keyframes chromarium-shake-pulse{0%,100%{transform:rotate(0)}20%{transform:rotate(-2deg)}40%{transform:rotate(2deg)}60%{transform:rotate(-1deg)}80%{transform:rotate(1deg)}}
@media(prefers-reduced-motion:reduce){.state-button.shake{animation:none}}

.low-stock-warning{margin:7px 0 2px;font-size:11px;font-weight:800;letter-spacing:.06em;color:#b45309;text-transform:uppercase;}

/* Localized OWN removal confirmation */
.chromarium-confirm[hidden]{display:none}
.chromarium-confirm{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:24px}
.chromarium-confirm__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.58)}
.chromarium-confirm__panel{position:relative;width:min(520px,100%);background:#fff;border-top:4px solid #95c11f;padding:28px;box-shadow:0 24px 70px rgba(0,0,0,.28)}
.chromarium-confirm__eyebrow{margin:0 0 8px;color:#668b00;font-weight:800;font-size:.75rem;letter-spacing:.12em}
.chromarium-confirm__panel h2{margin:0 0 12px}.chromarium-confirm__panel p{line-height:1.55}
.chromarium-confirm__actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}
.chromarium-confirm__danger{background:#171717!important;border-color:#171717!important;color:#fff!important}
