/* ============================================================
   Free Time Activities — foglio di stile centrale
   Font e colori sono qui: cambiarli qui aggiorna tutta l'app.
   ============================================================ */
:root{
    /* FONT (cambia qui per cambiarli ovunque) */
    --font-display: 'Bricolage Grotesque', sans-serif;
    --font-body: 'Manrope', sans-serif;

    /* COLORI base (tema di default) */
    --bg:#141619; --bg2:#1c2024; --bg3:#23282d; --bg4:#2b3036; --line:#333a41;
    --text:#f1f4f6; --muted:#8b939c; --muted2:#5f6770;
    --yellow:#ffd21e; --yellow-dim:rgba(255,210,30,.13);
    --green:#5fd07a; --green-dim:rgba(95,208,122,.14);
    --amber:#ffb347; --amber-dim:rgba(255,179,71,.14);
    --red:#ff6b6b; --red-dim:rgba(255,107,107,.13);
    --blue:#5b9bd5; --teal:#5ec9c0; --purple:#b58cff;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-weight:500;letter-spacing:-.011em;-webkit-font-smoothing:antialiased;min-height:100vh}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--font-display)}

/* topbar */
.topbar{display:flex;align-items:center;gap:14px;padding:16px 26px;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px}
.brand .mark{width:34px;height:34px;border-radius:9px;background:var(--yellow);display:grid;place-items:center;color:#141619;font-weight:800;font-family:var(--font-display);font-size:16px}
.brand b{font-family:var(--font-display);font-size:17px;font-weight:800;line-height:1.1;display:block}
.brand span{font-size:12px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase}
.topbar .sp{flex:1}
.userchip{display:flex;align-items:center;gap:9px;background:var(--bg2);border:1px solid var(--line);padding:6px 10px 6px 6px;border-radius:40px;font-size:15px}
.userchip .av{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--teal));display:grid;place-items:center;font-size:13px;font-weight:700;color:#11151a}

/* bottoni */
.btn{font-family:inherit;font-size:15px;border-radius:9px;padding:9px 16px;cursor:pointer;border:1px solid var(--line);background:var(--bg3);color:var(--text);transition:.15s;display:inline-block;text-align:center}
.btn:hover{border-color:var(--yellow)}
.btn.primary{background:var(--yellow);color:#141619;border-color:var(--yellow);font-weight:600}
.btn.sm{padding:6px 12px;font-size:14px}

/* layout */
.wrap{max-width:920px;margin:0 auto;padding:34px 26px 90px}
.flash{max-width:920px;margin:18px auto -6px;padding:0 26px}
.flash .box{background:var(--green-dim);border:1px solid var(--green);color:var(--green);border-radius:10px;padding:11px 14px;font-size:15px;line-height:1.5;word-break:break-word}

/* testo intestazioni di pagina */
.kicker{font-size:14px;letter-spacing:.2em;text-transform:uppercase;color:var(--yellow);font-weight:600;margin-bottom:10px}
.page-title{font-weight:800;font-size:32px;line-height:1;letter-spacing:-.03em}
.meta{margin-top:12px;color:var(--muted);font-size:15px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.tag{font-size:13px;padding:4px 11px;border-radius:20px}
.tag-teal{background:rgba(94,201,192,.16);color:var(--teal);font-weight:600}
.tag-soft{background:var(--bg3);border:1px solid var(--line);color:var(--muted)}

/* KPI */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:24px}
.kpi{background:var(--bg2);border:1px solid var(--line);border-radius:13px;padding:16px;position:relative;overflow:hidden}
.kpi::after{content:'';position:absolute;top:0;left:0;width:3px;height:100%;background:var(--ac,var(--yellow))}
.kpi .lab{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.kpi .val{font-family:var(--font-display);font-weight:800;font-size:28px;line-height:1}
.kpi .val small{font-size:15px;color:var(--muted);font-weight:600}
.kpi .note{font-size:14px;color:var(--muted2);margin-top:7px}

/* pannelli */
.panel{background:var(--bg2);border:1px solid var(--line);border-radius:15px;padding:22px;margin-top:18px}
.panel+.btn,.panel+button,.panel+form{margin-top:18px}.panel+div>.btn:first-child,.panel+div>button:first-child{margin-top:0}
.panel h2{font-size:16px;font-weight:600;display:flex;align-items:center;gap:9px;margin-bottom:4px}
.panel h2 .ic{width:8px;height:8px;border-radius:2px}
.panel .psub{font-size:14px;color:var(--muted);margin:5px 0 18px;line-height:1.5}

/* barra miglia */
.mbar-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:9px}
.mbar-top .big{font-family:var(--font-display);font-weight:800;font-size:32px;line-height:1}
.mbar-top .big small{font-size:16px;color:var(--muted)}
.mbar-top .goal{font-size:13px;color:var(--muted)}
.mbar{position:relative;height:26px;background:var(--bg3);border-radius:8px;overflow:hidden;border:1px solid var(--line)}
.seg{position:absolute;top:0;height:100%}
.seg.pre{left:0;background:linear-gradient(90deg,#4ca865,var(--green))}
.seg.post{background:linear-gradient(90deg,var(--amber),#ffc266)}
.tick{position:absolute;top:-4px;height:34px;width:2px;background:var(--text);opacity:.45}
.tick .tlab{position:absolute;top:-16px;left:50%;transform:translateX(-50%);font-size:9px;color:var(--muted);white-space:nowrap}
.mlegend{display:flex;gap:18px;margin-top:24px;flex-wrap:wrap}
.mlegend .it{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--muted)}
.mlegend .sw{width:11px;height:11px;border-radius:3px}
.mlegend b{color:var(--text)}

/* requisiti */
.reqs{display:flex;flex-direction:column;gap:10px}
.req{display:flex;align-items:center;gap:12px;padding:12px 13px;background:var(--bg3);border:1px solid var(--line);border-radius:11px;border-left-width:3px}
.req .rmid{flex:1;min-width:0}
.req .rname{font-size:16px;font-weight:500}
.req .rdate{font-size:13px;color:var(--muted2);margin-top:2px}
.req .rbadge{font-size:13px;font-weight:600;padding:3px 10px;border-radius:20px;white-space:nowrap}
.st-completed{border-left-color:var(--green)} .st-completed .rbadge{background:var(--green-dim);color:var(--green)}
.st-expiring{border-left-color:var(--amber)} .st-expiring .rbadge{background:var(--amber-dim);color:var(--amber)}
.st-expired{border-left-color:var(--red)} .st-expired .rbadge{background:var(--red-dim);color:var(--red)}
.st-missing{border-left-color:var(--muted2)} .st-missing .rbadge{background:var(--bg4);color:var(--muted)}

/* griglia card azioni (dashboard) */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.card-tile{background:var(--bg2);border:1px solid var(--line);border-radius:13px;padding:17px;display:block;transition:.15s}
.card-tile:hover{border-color:var(--yellow)}
.card-tile .emoji{font-size:22px;margin-bottom:8px;color:var(--yellow)}
.card-tile .t{font-weight:600;font-size:16px}
.card-tile .d{font-size:14px;color:var(--muted);margin-top:5px}

@media(max-width:760px){.kpis{grid-template-columns:repeat(2,1fr)}}
::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{background:var(--line);border-radius:6px}

/* ====== Libretto nautico ====== */
.lib-list{display:flex;flex-direction:column;gap:11px;margin-top:8px}
.act-row{display:flex;align-items:center;gap:16px;background:var(--bg2);border:1px solid var(--line);border-radius:13px;padding:15px 17px;transition:.15s}
.act-row:hover{border-color:var(--yellow);transform:translateX(3px)}
.act-row .datebox{text-align:center;flex-shrink:0;width:50px}
.act-row .dd{font-family:var(--font-display);font-weight:800;font-size:20px;line-height:1}
.act-row .mm{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:3px}
.act-row .yy{font-size:9px;color:var(--muted2)}
.act-row .mid{flex:1;min-width:0}
.act-row .tags{display:flex;gap:7px;margin-bottom:6px;flex-wrap:wrap}
.act-row .aname{font-size:17px;font-weight:600}
.act-row .ameta{font-size:14px;color:var(--muted2);margin-top:4px}
.act-row .right{text-align:right;flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.act-row .miles{font-family:var(--font-display);font-weight:800;font-size:20px}
.act-row .miles small{font-size:12px;color:var(--muted)}
.tag-school{background:var(--yellow-dim);color:var(--yellow)}
.tag-personal{background:rgba(181,140,255,.16);color:var(--purple)}
.tag-type{background:var(--bg4);color:var(--muted)}
.vbadge{font-size:9px;font-weight:600;padding:3px 8px;border-radius:20px}
.v-validated{background:var(--green-dim);color:var(--green)}
.v-not_validated{background:var(--amber-dim);color:var(--amber)}
.v-excluded{background:var(--red-dim);color:var(--red)}

.filterbar{display:flex;gap:8px;margin:24px 0 4px;flex-wrap:wrap;align-items:center}
.fpill{background:var(--bg2);border:1px solid var(--line);color:var(--muted);border-radius:30px;padding:7px 15px;font-size:15px;transition:.14s}
.fpill:hover{border-color:var(--muted)}
.fpill.active{background:var(--yellow);color:#141619;border-color:var(--yellow);font-weight:600}

/* dettaglio attività */
.dsec{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted2);margin:24px 0 11px;font-weight:600}
.dr-desc{font-size:16px;color:var(--muted);line-height:1.65}
.infogrid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.info{background:var(--bg3);border:1px solid var(--line);border-radius:9px;padding:10px 12px}
.info .il{font-size:13px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted2);margin-bottom:4px}
.info .iv{font-size:16px;font-weight:500}
.nstat{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.nstat .ns{background:var(--bg3);border:1px solid var(--line);border-radius:9px;padding:9px 7px;text-align:center}
.nstat .nsv{font-family:var(--font-display);font-weight:800;font-size:19px}
.nstat .nsl{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted2);margin-top:3px}
.clcat{border:1px solid var(--line);border-radius:9px;margin-bottom:8px;background:var(--bg3);overflow:hidden}
.clcat-h{display:flex;align-items:center;gap:10px;padding:10px 13px}
.clcat-h .cn{font-size:15px;font-weight:600}
.clcat-h .cc{margin-left:auto;font-size:13px;color:var(--muted)}
.cli{display:flex;align-items:center;gap:9px;padding:7px 13px;border-top:1px dashed rgba(255,255,255,.05);font-size:14px}
.cli .cdot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.cli .cs{margin-left:auto;font-size:9px;padding:2px 7px;border-radius:20px}
.cs-done{background:var(--green-dim);color:var(--green)}
.cs-not_done{background:var(--bg4);color:var(--muted)}
.cs-not_applicable{background:var(--bg4);color:var(--muted2)}
.cs-no{background:var(--red-dim);color:var(--red)}
.note-ro{background:var(--bg3);border:1px solid var(--line);border-radius:9px;padding:12px 14px;font-size:15px;color:var(--muted);line-height:1.6}
.mynote{width:100%;background:var(--bg3);border:1px solid var(--line);border-radius:9px;color:var(--text);font-family:inherit;font-size:16px;padding:11px 13px;outline:none;resize:vertical;min-height:64px;line-height:1.55}
.mynote:focus{border-color:var(--yellow);box-shadow:0 0 0 3px var(--yellow-dim)}
.filechip{display:inline-flex;align-items:center;gap:8px;background:var(--bg3);border:1px solid var(--line);border-radius:8px;padding:9px 13px;font-size:15px}
.fe{width:100%;background:var(--bg3);border:1px solid var(--line);border-radius:9px;color:var(--text);font-family:inherit;font-size:16px;padding:11px 13px;outline:none}
.fe:focus{border-color:var(--yellow)}
.flabel{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:6px}
.save-bar{display:flex;justify-content:flex-end;margin-top:10px;margin-bottom:8px}
input[type=date]{color-scheme:dark}
@media(max-width:760px){.nstat{grid-template-columns:repeat(3,1fr)}.infogrid{grid-template-columns:1fr}}

/* ====== Pannello scuola ====== */
.panel-hub{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:24px}
.hub-tile{background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:20px;display:block;transition:.15s}
.hub-tile:hover{border-color:var(--yellow);transform:translateY(-2px)}
.hub-tile .emoji{font-size:26px;margin-bottom:10px;color:var(--yellow)}
.hub-tile .t{font-weight:600;font-size:17px}
.hub-tile .d{font-size:14px;color:var(--muted);margin-top:5px;line-height:1.5}
.hub-tile-danger{border-color:var(--red)!important;background:var(--red-dim)}

.boat-card{background:var(--bg2);border:1px solid var(--line);border-radius:13px;padding:17px}
.boat-card .bn{font-weight:600;font-size:17px;display:flex;align-items:center;gap:9px}
.boat-card .bm{font-size:14px;color:var(--muted);margin:5px 0 13px}
.boat-card .bspecs{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:14px}
.boat-card .bspecs div{color:var(--muted2)}
.boat-card .bspecs b{color:var(--text);font-weight:500}
.boat-card .bact{display:flex;gap:8px;margin-top:14px;padding-top:13px;border-top:1px solid color-mix(in srgb,var(--line) 60%,transparent)}
.boatgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-top:8px}

/* ====== Gestione utenti ====== */
.utable{width:100%;border-collapse:collapse;font-size:15px;margin-top:8px}
.utable th{text-align:left;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted2);font-weight:600;padding:9px 10px;border-bottom:1px solid var(--line)}
.utable td{padding:11px 10px;border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent);vertical-align:middle}
.utable tr:last-child td{border-bottom:none}
.utable tbody tr:hover{background:var(--bg3)}
.uname{font-weight:600;font-size:16px}
.uname .multi{font-size:10.5px;color:var(--teal);margin-left:7px}
.uemail{font-size:14px;color:var(--muted)}
.rolesel{background:var(--bg3);border:1px solid var(--line);border-radius:7px;color:var(--text);font-family:inherit;font-size:14px;padding:7px 9px;outline:none}
.rolesel:focus{border-color:var(--yellow)}
.ustat{font-size:12px;display:inline-flex;align-items:center;gap:6px}
.ustat .d{width:7px;height:7px;border-radius:50%}
.r-pill{font-size:9px;padding:2px 8px;border-radius:20px;white-space:nowrap}
.rp-admin{background:var(--yellow-dim);color:var(--yellow)}
.rp-collaborator{background:rgba(91,155,213,.16);color:var(--blue)}
.rp-skipper{background:rgba(94,201,192,.16);color:var(--teal)}
.rp-student{background:rgba(181,140,255,.16);color:var(--purple)}
@media(max-width:680px){.utable thead{display:none}.utable td{display:block;border:none;padding:4px 10px}.utable tr{display:block;border:1px solid var(--line);border-radius:11px;margin-bottom:10px;padding:8px 0;background:var(--bg2)}}

/* ====== Impostazioni colori ====== */
.theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.crow{display:flex;align-items:center;gap:13px;padding:11px 0;border-bottom:1px dashed color-mix(in srgb,var(--line) 70%,transparent)}
.crow:last-child{border-bottom:none}
.crow .ci{flex:1}
.crow .cn{font-size:16px;font-weight:500}
.crow .cx{font-size:13px;color:var(--muted2);margin-top:2px}
.crow input[type=color]{width:46px;height:32px;border:1px solid var(--line);border-radius:7px;background:var(--bg3);cursor:pointer;padding:2px}
.crow input[type=color]::-webkit-color-swatch-wrapper{padding:0}
.crow input[type=color]::-webkit-color-swatch{border:none;border-radius:5px}
.crow .hx{font-size:12px;color:var(--muted);width:62px;text-align:right;letter-spacing:.04em}
.tprev{background:var(--bg);border:1px solid var(--line);border-radius:14px;overflow:hidden;position:sticky;top:20px}
.tprev .pb{background:var(--bg2);border-bottom:1px solid var(--line);padding:12px 15px;display:flex;align-items:center;gap:10px}
.tprev .pm{width:30px;height:30px;border-radius:8px;background:var(--yellow);display:grid;place-items:center;color:#141619;font-weight:800;font-size:15px;font-family:var(--font-display)}
.tprev .pb b{font-family:var(--font-display);font-size:15px}
.tprev .pbody{padding:17px}
.tprev .ph{font-family:var(--font-display);font-weight:800;font-size:18px;margin-bottom:8px}
.tprev .pp{font-size:15px;color:var(--muted);line-height:1.6;margin-bottom:14px}
.tprev .pbtn{display:inline-block;background:var(--yellow);color:#141619;font-weight:600;font-size:13px;padding:9px 16px;border-radius:8px}
.tprev .phl{display:inline-block;background:var(--yellow-dim);color:var(--yellow);font-size:10.5px;padding:4px 11px;border-radius:20px;margin-left:9px}
.tprev .pdot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--teal);margin-right:6px;vertical-align:middle}
@media(max-width:760px){.theme-grid{grid-template-columns:1fr}.tprev{position:static}}

/* ====== Menu account (topbar) ====== */
.usermenu{position:relative}
.usermenu summary{list-style:none;cursor:pointer;user-select:none}
.usermenu summary::-webkit-details-marker{display:none}
.usermenu .userchip .caret{color:var(--muted);font-size:16px;margin-left:2px;transition:.2s;vertical-align:-2px}
.usermenu[open] .userchip{border-color:var(--yellow)}
.usermenu[open] .caret{transform:rotate(180deg)}
.usermenu-pop{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:6px;box-shadow:0 18px 40px -18px rgba(0,0,0,.8);z-index:50;display:flex;flex-direction:column;gap:2px}
.usermenu-pop a,.usermenu-pop button{display:block;width:100%;text-align:left;background:none;border:none;color:var(--text);font-family:inherit;font-size:15px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:.12s;display:flex;align-items:center;gap:8px}
.usermenu-pop a .ti,.usermenu-pop button .ti{font-size:17px;color:var(--muted);flex-shrink:0}
.usermenu-pop a:hover,.usermenu-pop button:hover{background:var(--bg3);color:var(--yellow)}
.usermenu-pop form{margin:0}
.usermenu-pop button{border-top:1px solid color-mix(in srgb,var(--line) 60%,transparent);border-radius:0 0 8px 8px;margin-top:2px}

/* ====== Notifiche (campanella) ====== */
.bellmenu{position:relative}
.bellmenu summary{list-style:none;cursor:pointer;user-select:none}
.bellmenu summary::-webkit-details-marker{display:none}
.bell{position:relative;width:38px;height:38px;border-radius:9px;background:var(--bg2);border:1px solid var(--line);display:grid;place-items:center;font-size:18px;color:var(--text)}
.bellmenu[open] .bell{border-color:var(--yellow)}
.bell .bdot{position:absolute;top:-5px;right:-5px;background:var(--red);color:#fff;font-size:9.5px;font-weight:700;min-width:16px;height:16px;border-radius:20px;display:grid;place-items:center;padding:0 4px}
.bell-pop{position:absolute;right:0;top:calc(100% + 8px);width:300px;background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:6px;box-shadow:0 18px 40px -18px rgba(0,0,0,.8);z-index:50}
.bell-head{display:flex;align-items:center;justify-content:space-between;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted2);padding:8px 10px 6px;font-weight:600}
.bell-head form{margin:0}
.bell-head button{background:none;border:none;color:var(--yellow);font-family:inherit;font-size:12px;cursor:pointer;letter-spacing:0;text-transform:none}
.bell-item{display:flex;gap:10px;padding:10px;border-radius:9px;transition:.12s;align-items:flex-start}
.bell-item:hover{background:var(--bg3)}
.bell-item.unread{background:color-mix(in srgb,var(--yellow) 7%,transparent)}
.bell-item .bi{font-size:16px;flex-shrink:0;color:var(--muted)}
.bell-item .bt{font-size:15px;line-height:1.45;color:var(--text)}
.bell-item .bts{display:block;font-size:13px;color:var(--muted2);margin-top:3px}
.bell-empty{font-size:14px;color:var(--muted2);padding:14px 10px;text-align:center}
.bell-all{display:block;text-align:center;font-size:14px;color:var(--muted);padding:9px;border-top:1px solid color-mix(in srgb,var(--line) 60%,transparent);margin-top:4px}
.bell-all:hover{color:var(--yellow)}

.notif-row{display:flex;gap:13px;padding:13px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent);align-items:flex-start}
.notif-row:last-child{border-bottom:none}
.notif-row .ni{font-size:18px;flex-shrink:0;color:var(--muted)}
.notif-row .nt{font-size:16px;line-height:1.5}
.notif-row .nts{font-size:13px;color:var(--muted2);margin-top:3px}

/* requisito in attesa di convalida */
.st-pending{border-left-color:var(--blue)} .st-pending .rbadge{background:rgba(91,155,213,.16);color:var(--blue)}
.req .ract{display:flex;align-items:center;gap:8px;flex-shrink:0}
.reqlink{font-size:13px;color:var(--muted2)}
.reqlink:hover{color:var(--yellow)}
/* ====== Editor attività ====== */
.seg3{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;flex-shrink:0}
.seg3 input{position:absolute;opacity:0;pointer-events:none}
.seg3 label{font-size:13px;padding:5px 11px;background:var(--bg2);color:var(--muted);cursor:pointer;border-right:1px solid var(--line);transition:.12s}
.seg3 label:last-of-type{border-right:none}
.seg3 label:hover{color:var(--text)}
.seg3 input:checked + label.l-done{background:var(--green);color:#11201a;font-weight:600}
.seg3 input:checked + label.l-no{background:var(--bg4);color:var(--text);font-weight:600}
.seg3 input:checked + label.l-na{background:var(--muted2);color:#141619;font-weight:600}
.seg3 input:checked + label.l-deny{background:var(--red-dim);color:var(--red);font-weight:600}
.clrow{display:flex;align-items:center;gap:12px;padding:9px 0;border-top:1px dashed rgba(255,255,255,.05)}
.clrow .cn{flex:1;font-size:15px}
.clcat-title{font-size:15px;font-weight:600;margin:14px 0 2px;display:flex;align-items:center;gap:8px}
.clcat-title .bar{width:18px;height:3px;border-radius:3px;background:var(--green)}

.checkgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}
.checkitem{display:flex;align-items:center;gap:9px;background:var(--bg3);border:1px solid var(--line);border-radius:8px;padding:9px 11px;font-size:15px;cursor:pointer}
.checkitem input{accent-color:var(--yellow);width:15px;height:15px}
.checkitem.sel{border-color:var(--yellow)}

.filerow{display:flex;align-items:center;gap:9px;background:var(--bg3);border:1px solid var(--line);border-radius:8px;padding:8px 11px;font-size:14px;margin-bottom:7px}
.filerow .fx{margin-left:auto}

.act-row .manage{flex-shrink:0}

/* ====== Gestione checklist (builder) ====== */
.cl-list{display:flex;flex-direction:column;gap:11px;margin-top:8px}
.cl-card{display:flex;align-items:center;gap:14px;background:var(--bg2);border:1px solid var(--line);border-radius:13px;padding:15px 17px}
.cl-card .cmid{flex:1;min-width:0}
.cl-card .cnm{font-size:17px;font-weight:600}
.cl-card .cmeta{font-size:14px;color:var(--muted2);margin-top:4px}
.cl-card .cact{display:flex;gap:8px;flex-shrink:0}
.cl-origin{font-size:9px;padding:3px 9px;border-radius:20px;white-space:nowrap}
.co-default{background:var(--yellow-dim);color:var(--yellow)}
.co-copy{background:rgba(94,201,192,.16);color:var(--teal)}
.co-own{background:rgba(181,140,255,.16);color:var(--purple)}

.cat-block{border:1px solid var(--line);border-radius:11px;background:var(--bg2);margin-bottom:12px;overflow:hidden}
.cat-head{display:flex;align-items:center;gap:9px;padding:11px 14px;background:var(--bg3);border-bottom:1px solid var(--line)}
.cat-head .cinput{flex:1;background:transparent;border:1px solid transparent;border-radius:7px;color:var(--text);font-family:inherit;font-size:16px;font-weight:600;padding:5px 8px;outline:none}
.cat-head .cinput:focus{border-color:var(--line);background:var(--bg)}
.cat-items{padding:8px 14px 12px}
.item-row{display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:1px dashed rgba(255,255,255,.05)}
.item-row:last-child{border-bottom:none}
.item-row .iinput{flex:1;background:transparent;border:1px solid transparent;border-radius:7px;color:var(--text);font-family:inherit;font-size:15px;padding:5px 8px;outline:none}
.item-row .iinput:focus{border-color:var(--line);background:var(--bg3)}
.item-add{display:flex;gap:8px;margin-top:9px}
.item-add input{flex:1;background:var(--bg3);border:1px solid var(--line);border-radius:8px;color:var(--text);font-family:inherit;font-size:15px;padding:9px 12px;outline:none}
.item-add input:focus{border-color:var(--yellow)}
.cat-add{display:flex;gap:9px;margin-top:8px}
.cat-add input{flex:1;background:var(--bg3);border:1px solid var(--line);border-radius:9px;color:var(--text);font-family:inherit;font-size:15px;padding:11px 13px;outline:none}
.cat-add input:focus{border-color:var(--yellow)}
.xbtn{background:var(--bg3);border:1px solid var(--line);color:var(--muted);border-radius:7px;font-size:13px;padding:5px 9px;cursor:pointer}
.xbtn:hover{border-color:var(--red);color:var(--red)}
.cl-ro-cat{font-size:14px;font-weight:600;margin:14px 0 4px;display:flex;align-items:center;gap:8px}
.cl-ro-cat .bar{width:16px;height:3px;border-radius:3px;background:var(--green)}
.cl-ro-item{font-size:14px;color:var(--muted);padding:4px 0 4px 24px}

/* ====== Selettore lingua nel menu account ====== */
.usermenu-pop .lang-lab{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted2);padding:9px 12px 3px}
.usermenu-pop .lang-row{display:flex;gap:5px;padding:0 10px 6px}
.usermenu-pop .lang-row form{margin:0;flex:1}
.usermenu-pop .lang-row button{display:block;width:100%;text-align:center;border:1px solid var(--line);background:var(--bg3);color:var(--muted);border-radius:7px;padding:6px 0;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;margin-top:0}
.usermenu-pop .lang-row button:hover{border-color:var(--yellow);color:var(--yellow);background:var(--bg3)}
.usermenu-pop .lang-row button.on{border-color:var(--yellow);background:var(--yellow-dim);color:var(--yellow)}
.usermenu-pop .sep{height:1px;background:color-mix(in srgb,var(--line) 60%,transparent);margin:5px 8px}
