[hidden]{display:none!important}:root{--bg:#f3f5f4;--surface:#fff;--surface-2:#eef2ef;--ink:#17201b;--muted:#68736c;--line:#dbe2dd;--green:#1f6b48;--green-dark:#155238;--green-soft:#e5f3eb;--red:#a23838;--red-soft:#faeaea;--amber:#8a6200;--amber-soft:#fff4cf;--shadow:0 14px 35px rgba(27,47,36,.08);--radius:16px}*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);line-height:1.5}body{margin:0}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}.topbar{height:68px;background:#14251c;color:#fff;display:flex;align-items:center;padding:0 max(24px,calc((100vw - 1240px)/2));gap:38px;box-shadow:0 4px 18px rgba(0,0,0,.16);position:sticky;top:0;z-index:20}.brand{font-weight:800;color:#fff;display:flex;align-items:center;gap:10px;white-space:nowrap}.brand:hover{text-decoration:none}.brand-mark,.login-logo{display:grid;place-items:center;background:#d3f073;color:#17361f;border-radius:50%;font-weight:900}.brand-mark{width:30px;height:30px}.topbar nav{display:flex;align-self:stretch}.topbar nav a{color:#cbd7d0;padding:0 16px;display:flex;align-items:center;border-bottom:3px solid transparent}.topbar nav a:hover,.topbar nav a.active{color:#fff;text-decoration:none;border-bottom-color:#d3f073}.user-menu{margin-left:auto;display:flex;align-items:center;gap:18px}.user-menu>a{color:#fff;font-weight:600}.container{width:min(1240px,calc(100% - 40px));margin:0 auto;padding:42px 0 70px}.container.narrow{width:min(800px,calc(100% - 40px))}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:26px}.page-heading h1{margin:0;font-size:clamp(1.8rem,4vw,2.6rem);letter-spacing:-.035em}.eyebrow{margin:0 0 5px;text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;font-weight:800;color:var(--green)}.muted,small{color:var(--muted)}small{display:block}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:10px;padding:10px 15px;font:inherit;font-weight:700;cursor:pointer}.button:hover{text-decoration:none;border-color:#aab8af}.button-primary{background:var(--green);border-color:var(--green);color:#fff}.button-primary:hover{background:var(--green-dark)}.button-danger{background:var(--red);border-color:var(--red);color:#fff}.button-small{padding:7px 11px;font-size:.88rem}.button-full{width:100%}.link-button{border:0;padding:0;background:none;color:inherit;font:inherit;cursor:pointer}.link-button:hover{text-decoration:underline}.danger,.text-negative{color:var(--red)!important}.text-positive{color:var(--green)!important}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.card-heading h2{font-size:1.2rem;margin:0}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.kpi span{display:block;color:var(--muted);font-size:.86rem;font-weight:700}.kpi strong{display:block;font-size:1.7rem;margin:5px 0;letter-spacing:-.03em}.kpi.positive{border-left:4px solid var(--green)}.kpi.negative{border-left:4px solid var(--red)}.kpi-grid.compact .kpi{padding:16px 20px}.dashboard-grid,.detail-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px}.span-2{grid-column:span 2}.year-switcher{display:flex;justify-content:flex-end;margin:-10px 0 18px}.year-switcher label{display:flex;align-items:center;gap:8px;font-weight:700}.year-switcher select{width:auto}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px 12px;border-bottom:1px solid var(--line);vertical-align:middle}th{font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}tbody tr:last-child td{border-bottom:0}.num{text-align:right;white-space:nowrap}.strong-link{font-weight:750;color:var(--ink)}.row-actions{display:flex;justify-content:flex-end;gap:12px;white-space:nowrap}.trend-list{display:grid;gap:8px}.trend-list article{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}.trend-list article:last-child{border-bottom:0}.trend-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;font-weight:900}.trend-besser{background:var(--green-soft);color:var(--green)}.trend-schlechter{background:var(--red-soft);color:var(--red)}.trend-gleich{background:var(--surface-2);color:var(--muted)}.trend-value{text-align:right}.trend-value span{font-weight:750;text-transform:capitalize}.alert{border-radius:12px;padding:13px 16px;margin:0 0 20px;border:1px solid}.alert ul{margin:0;padding-left:20px}.alert-success{background:var(--green-soft);border-color:#b6dbc6;color:#174c33}.alert-error{background:var(--red-soft);border-color:#edc2c2;color:#7f2929}.alert-warning{background:var(--amber-soft);border-color:#e8d487;color:#654900}.form-stack{display:grid;gap:22px}label{display:grid;gap:7px;font-weight:700}input,select,textarea{width:100%;border:1px solid #bdc8c1;border-radius:9px;background:#fff;color:var(--ink);padding:11px 12px;font:inherit}input:focus,select:focus,textarea:focus{outline:3px solid rgba(31,107,72,.15);border-color:var(--green)}textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.form-grid.three{grid-template-columns:repeat(3,1fr)}.form-grid .span-2{grid-column:span 2}fieldset{border:1px solid var(--line);border-radius:12px;padding:18px;margin:0}legend{font-weight:800;padding:0 8px}.field-help{color:var(--muted);margin:0 0 16px}.checkbox{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:10px}.checkbox input{width:auto}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.current-file,.callout{background:var(--surface-2);padding:14px;border-radius:10px}.summary-list{margin:20px 0 0}.summary-list div{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line)}.summary-list dt{color:var(--muted)}.summary-list dd{margin:0;font-weight:750}.pre-line{white-space:pre-line}.file-tile{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:12px}.file-tile>span{background:#b73434;color:#fff;font-size:.72rem;font-weight:900;padding:8px 6px;border-radius:6px}.empty{text-align:center;padding:48px 24px;color:var(--muted)}.empty h1,.empty h2,.empty h3{color:var(--ink)}.year-section{margin:32px 0}.year-heading{display:flex;align-items:baseline;gap:12px;border-bottom:1px solid var(--line);margin-bottom:16px}.year-heading h2{font-size:1.8rem;margin:0}.year-heading span{color:var(--muted)}.shoot-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.shoot-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);display:grid;gap:18px}.shoot-card time{font-size:.8rem;font-weight:800;color:var(--green)}.shoot-card h3{margin:4px 0;font-size:1.18rem}.shoot-card p{margin:0;color:var(--muted)}.shoot-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0}.shoot-card dl div{background:var(--surface-2);padding:9px;border-radius:9px}.shoot-card dt{font-size:.68rem;text-transform:uppercase;color:var(--muted)}.shoot-card dd{font-weight:750;margin:2px 0 0;font-size:.84rem}.card-actions{display:flex;gap:16px;font-weight:700}.danger-zone{margin-top:28px;border:1px solid #edc2c2;background:#fff8f8;border-radius:var(--radius);padding:22px}.danger-zone h2{color:var(--red);margin-top:0}.badge,.status{display:inline-block;padding:4px 8px;border-radius:999px;font-size:.78rem;font-weight:800}.badge{background:var(--surface-2)}.status-active{background:var(--green-soft);color:var(--green)}.status-inactive{background:var(--red-soft);color:var(--red)}.inline-form{display:flex;gap:7px}.inline-form input{min-width:210px;padding:7px 9px}.login-shell{min-height:calc(100vh - 55px);display:grid;place-items:center;padding:30px;background:radial-gradient(circle at 20% 20%,#dcebe2,transparent 34%),radial-gradient(circle at 80% 75%,#e9efd2,transparent 30%),#eef2ef}.login-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:22px;padding:36px;box-shadow:0 24px 70px rgba(20,37,28,.14)}.login-card h1{text-align:center;margin:14px 0 4px}.login-card>p{text-align:center;margin:0 0 24px}.login-logo{width:56px;height:56px;margin:auto;font-size:1.5rem}.footer{text-align:center;color:var(--muted);font-size:.78rem;padding:20px}.error-code{font-size:4rem;font-weight:900;color:#cbd4ce;line-height:1}.callout h2{margin-top:0}
@media(max-width:900px){.topbar{padding:0 18px;gap:12px}.topbar nav a{padding:0 8px}.user-menu>a{display:none}.kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.detail-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.shoot-card-grid{grid-template-columns:repeat(2,1fr)}.form-grid.three{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.topbar{height:auto;min-height:64px;flex-wrap:wrap;padding:10px 14px}.brand{width:calc(100% - 90px)}.topbar nav{order:3;width:100%;height:42px;overflow-x:auto}.topbar nav a{white-space:nowrap}.container,.container.narrow{width:min(100% - 24px,1240px);padding-top:26px}.page-heading{align-items:flex-start;flex-direction:column}.kpi-grid{grid-template-columns:1fr 1fr;gap:10px}.kpi strong{font-size:1.25rem}.shoot-card-grid{grid-template-columns:1fr}.form-grid,.form-grid.three{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.card{padding:17px}.row-actions{display:grid}.inline-form{display:grid}.inline-form input{min-width:160px}.login-card{padding:25px}.hide-mobile{display:none}}
.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.settings-add-form{margin-bottom:20px}.option-list{display:grid;border-top:1px solid var(--line)}.option-list>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}.option-list span{font-weight:700}.compact-form{gap:14px}.compact-form .button{justify-self:start}@media(max-width:900px){.settings-grid{grid-template-columns:1fr}}
.choice-card{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--surface-2);cursor:pointer}.choice-card>span{display:grid;gap:2px}.choice-card strong{color:var(--ink)}.conditional-block[hidden]{display:none}.conditional-block{margin-top:16px}.award-options{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.heading-badges{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0 4px}.badge-success{background:var(--green-soft);color:var(--green)}
@media(max-width:620px){.award-options{grid-template-columns:1fr}}

/* Version 1.3: Anlass → Stich → Passen → Resultate */
.section-heading{margin:34px 0 16px}.stitch-list{display:grid;gap:22px}.stitch-card{padding:0;overflow:hidden}.stitch-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:24px;border-bottom:1px solid var(--line)}.stitch-heading h2{margin:8px 0 4px}.pass-summary{display:flex;flex-wrap:wrap;gap:8px;padding:16px 24px;background:var(--surface-2);border-bottom:1px solid var(--line)}.pass-summary span{background:#fff;border:1px solid var(--line);border-radius:9px;padding:8px 10px;font-size:.86rem}.result-heading{padding:18px 24px 0;margin-bottom:8px}.result-heading h3{margin:0}.stitch-card>.table-wrap,.stitch-card>.empty{margin:0 24px 24px}.compact-empty{padding:22px}.lower-detail-grid{margin-top:22px}.award-badges{display:flex;gap:5px;flex-wrap:wrap}.medal-badge{background:#fff1bd;color:#6b4a00}.inline-details{margin-top:6px;font-size:.82rem}.inline-details summary{cursor:pointer;color:var(--green);font-weight:700}.inline-details ul{margin:7px 0 0;padding-left:18px}.inline-details li{margin-bottom:5px}.pass-list,.result-pass-list{display:grid;gap:14px}.pass-editor,.result-pass{border:1px solid var(--line);border-radius:12px;padding:16px;background:#fff}.pass-editor-heading,.result-pass-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.pass-editor-heading strong,.result-pass-heading strong{font-size:1.02rem}.result-pass-heading>label{width:min(220px,100%)}.shot-details{border-top:1px solid var(--line);padding-top:12px}.shot-details summary{cursor:pointer;font-weight:750;color:var(--green)}.shot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:10px;margin-top:14px}.shot-grid label{gap:4px}.shot-grid label span{font-size:.75rem;color:var(--muted)}.shot-grid input{padding:8px}.choice-card input:disabled+span{opacity:.55}.pass-editor button:disabled{opacity:.35;cursor:not-allowed}.result-pass-heading small{margin-top:3px}
@media(max-width:700px){.stitch-heading,.pass-editor-heading,.result-pass-heading{flex-direction:column}.result-pass-heading>label{width:100%}.stitch-heading .actions{width:100%}.shot-grid{grid-template-columns:repeat(4,1fr)}}

/* Version 1.3.2: alternative Archivansicht */
.view-switcher{display:inline-flex;gap:4px;padding:4px;background:var(--surface-2);border:1px solid var(--line);border-radius:11px;margin:0 0 8px}.view-switcher a{padding:8px 13px;border-radius:8px;color:var(--muted);font-weight:750}.view-switcher a.active{background:#fff;color:var(--ink);box-shadow:0 1px 4px rgba(20,37,28,.1)}.shoot-series-section .year-heading h2{font-size:1.45rem}

/* Version 1.3.3: Stich-Unterlagen und bevorstehende Schiessen */
.upcoming-card{margin:0 0 22px}.upcoming-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.upcoming-item{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:14px;border:1px solid var(--line);border-radius:12px;padding:13px;background:var(--surface-2)}.upcoming-date{display:grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 5px;text-align:center}.upcoming-date span{font-weight:850}.upcoming-date small{text-transform:uppercase}.upcoming-main{display:grid;gap:3px;min-width:0}.upcoming-main a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.countdown{white-space:nowrap;border-radius:999px;background:var(--green-soft);color:var(--green);padding:7px 10px;font-size:.82rem;font-weight:850}.countdown-today{background:var(--amber-soft);color:#654900}.stitch-documents{padding:16px 24px;border-bottom:1px solid var(--line);display:grid;gap:10px}.stitch-document-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stitch-document-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--surface-2)}.stitch-document-item>div{display:grid;min-width:0}.stitch-document-item a,.stitch-document-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-chip{background:#b73434;color:#fff;font-size:.68rem;font-weight:900;padding:6px 5px;border-radius:5px}
@media(max-width:900px){.upcoming-list,.stitch-document-list{grid-template-columns:1fr}}
@media(max-width:620px){.upcoming-item{grid-template-columns:54px minmax(0,1fr)}.countdown{grid-column:2;justify-self:start}.stitch-document-item{grid-template-columns:auto minmax(0,1fr)}.stitch-document-item form{grid-column:2}}

.admin-target-banner{display:flex;justify-content:center;align-items:center;gap:18px;padding:9px 18px;background:#fff1bd;color:#533f00;border-bottom:1px solid #ead27a}.status-pending{background:#fff1bd;color:#654900}.option-list label.checkbox{flex:1}.option-list>div>label:last-child{width:140px}.option-list>div>label:last-child input{margin-top:4px}

/* Version 1.4: Registrierung, Analyse und Administration */
.auth-shell{min-height:calc(100vh - 55px);display:grid;place-items:center;padding:30px;background:radial-gradient(circle at 20% 20%,#dcebe2,transparent 34%),radial-gradient(circle at 80% 75%,#e9efd2,transparent 30%),#eef2ef}.auth-card{width:min(680px,100%);background:#fff;border:1px solid var(--line);border-radius:22px;padding:36px;box-shadow:0 24px 70px rgba(20,37,28,.14)}.auth-card h1{margin-top:0}.prose{white-space:pre-line;overflow-wrap:anywhere}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px}.summary-grid .card{display:grid;gap:5px}.summary-grid .card span{color:var(--muted);font-size:.86rem;font-weight:700}.summary-grid .card strong{font-size:1.7rem;letter-spacing:-.03em}@media(max-width:700px){.auth-card{padding:24px}.summary-grid{grid-template-columns:1fr}.admin-target-banner{align-items:flex-start;flex-direction:column;gap:6px}}

/* Version 1.5: responsives Layout, Benutzerdetails und Fest-Wettkämpfe */
body{overflow-x:hidden}.nav-toggle{display:none;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.28);background:transparent;color:#fff;border-radius:9px;padding:8px 11px;font:inherit;font-weight:750;cursor:pointer}.brand-text{overflow:hidden;text-overflow:ellipsis}.topbar,.topbar>*{min-width:0}.container>*,.dashboard-grid>*,.detail-grid>*,.settings-grid>*{min-width:0}.page-heading .actions{max-width:100%}.table-wrap{width:100%;max-width:100%;-webkit-overflow-scrolling:touch}.table-wrap table{min-width:620px}.clickable-row{cursor:pointer}.clickable-row:hover{background:var(--surface-2)}.clickable-row:focus{outline:3px solid rgba(31,107,72,.2);outline-offset:-3px}.clickable-row td:first-child a{color:var(--ink)}.detail-list{margin:0}.detail-list div{display:grid;grid-template-columns:minmax(130px,1fr) minmax(0,1.4fr);gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}.detail-list div:last-child{border-bottom:0}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0;font-weight:750;overflow-wrap:anywhere}.user-detail-grid{align-items:start}.user-summary{margin-bottom:20px}.smtp-test-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:24px;align-items:end;margin-top:24px}.smtp-test-card h2{margin:0}.smtp-test-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.competition-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.competition-card{display:grid;gap:15px}.competition-card h3{margin:0 0 4px}.competition-card p{margin:0;color:var(--muted)}.competition-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.competition-card dl div{background:var(--surface-2);padding:9px;border-radius:9px}.competition-card dt{font-size:.68rem;text-transform:uppercase;color:var(--muted)}.competition-card dd{font-weight:750;margin:2px 0 0;font-size:.84rem}.analytics-card{margin-bottom:20px}.fire-mode-table{min-width:520px!important}.button:disabled{opacity:.5;cursor:not-allowed}.actions form{max-width:100%}

@media(max-width:1100px){.topbar{height:auto;min-height:68px;display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:8px 18px;padding:10px 18px}.topbar nav{grid-column:1/-1;grid-row:2;width:100%;height:42px;overflow-x:auto;align-self:auto}.topbar nav a{white-space:nowrap;padding:0 14px}.user-menu{grid-column:2;grid-row:1;margin-left:0;min-width:0;max-width:360px}.user-menu>a{display:block!important;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.smtp-test-card{grid-template-columns:1fr}.competition-card-grid{grid-template-columns:1fr}}

@media(max-width:720px){.topbar{grid-template-columns:minmax(0,1fr) auto;padding:10px 14px}.brand{width:auto}.nav-toggle{display:inline-flex}.topbar nav{display:none;grid-column:1/-1;grid-row:2;height:auto;overflow:visible;align-items:stretch;padding:5px 0}.topbar.is-menu-open nav{display:grid}.topbar nav a{min-height:42px;padding:9px 12px;border-bottom:0;border-left:3px solid transparent}.topbar nav a:hover,.topbar nav a.active{border-bottom-color:transparent;border-left-color:#d3f073;background:rgba(255,255,255,.06)}.user-menu{grid-column:1/-1;grid-row:3;max-width:none;width:100%;justify-content:space-between;border-top:1px solid rgba(255,255,255,.14);padding-top:8px}.user-menu>a{max-width:70%}.page-heading{align-items:flex-start;flex-direction:column}.page-heading>.actions{width:100%}.page-heading>.actions .button{flex:1}.card-heading{align-items:flex-start;flex-direction:column}.card-heading>.button{align-self:stretch}.option-list>div{align-items:stretch;flex-direction:column}.option-list>div>label:last-child{width:100%}.smtp-test-form{grid-template-columns:1fr}.smtp-test-form .button{width:100%}.detail-list div{grid-template-columns:1fr;gap:2px}.competition-card dl{grid-template-columns:1fr}.actions{align-items:stretch}.actions>.button,.actions>form>.button{width:100%}.actions>form{flex:1}.table-wrap table{min-width:560px}.user-table{min-width:560px!important}}

@media(max-width:460px){.container,.container.narrow{width:calc(100% - 18px);padding-top:20px}.card{padding:15px}.auth-card,.login-card{padding:21px}.kpi-grid{grid-template-columns:1fr}.topbar{padding-inline:10px}.brand-text{font-size:.9rem}.nav-toggle span:last-child{display:none}.user-menu{gap:10px}.user-menu>a{font-size:.9rem}.page-heading>.actions{display:grid;grid-template-columns:1fr}.stitch-card>.table-wrap,.stitch-card>.empty{margin-inline:14px}.stitch-heading,.pass-summary,.result-heading,.stitch-documents{padding-inline:14px}.shot-grid{grid-template-columns:repeat(3,1fr)}}

/* Version 1.6.0 */
.event-classification-grid{align-items:start}.event-classification-grid>label{align-content:start}.label-with-info{display:flex;align-items:center;gap:7px;min-height:24px}.info-tooltip{position:relative;display:inline-grid;place-items:center;width:19px;height:19px;border:1px solid var(--green);border-radius:50%;color:var(--green);font-size:.75rem;font-weight:900;line-height:1;cursor:help}.info-bubble{position:absolute;z-index:30;left:50%;bottom:calc(100% + 10px);width:min(360px,80vw);padding:12px 14px;border-radius:10px;background:var(--ink);color:#fff;font-size:.82rem;font-weight:500;line-height:1.45;box-shadow:0 12px 30px rgba(0,0,0,.22);transform:translateX(-50%);opacity:0;visibility:hidden;pointer-events:none}.info-bubble::after{content:"";position:absolute;left:50%;top:100%;border:7px solid transparent;border-top-color:var(--ink);transform:translateX(-50%)}.info-tooltip:hover .info-bubble,.info-tooltip:focus .info-bubble,.info-tooltip:focus-within .info-bubble{opacity:1;visibility:visible}.chart-shell{position:relative;width:100%;height:280px;margin:8px 0 22px}.chart-shell.compact-chart{height:220px;margin-bottom:18px}.line-chart{display:block;width:100%;height:100%}.analytics-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.analytics-summary .card small{color:var(--muted);line-height:1.35}.template-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin-bottom:18px}.template-picker label{margin:0}.template-banner{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 16px;border:1px solid #b9d3c4;border-radius:12px;background:#f0f8f3}.template-banner p{margin:0}.template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.template-card{display:grid;gap:14px}.template-card h2,.template-card h3{margin:0}.template-meta{display:flex;gap:8px;flex-wrap:wrap}.template-stitch-list{display:grid;gap:12px}.template-stitch-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.template-stitch-item h3{margin:0 0 4px}.other-prize-fields{margin-top:14px}.fixed-value{padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);font-weight:750}.award-badges{display:flex;gap:6px;flex-wrap:wrap}
@media(max-width:1000px){.analytics-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.template-grid{grid-template-columns:1fr}}
@media(max-width:700px){.template-picker{grid-template-columns:1fr}.template-picker .button{width:100%}.template-banner{align-items:flex-start;flex-direction:column}.template-stitch-item{grid-template-columns:1fr}.chart-shell{height:230px}.chart-shell.compact-chart{height:210px}}
@media(max-width:460px){.analytics-summary{grid-template-columns:1fr}.info-bubble{left:0;transform:none}.info-bubble::after{left:10px;transform:none}}

.storage-meter { display: grid; gap: .35rem; }
.storage-meter progress { width: 100%; height: .75rem; accent-color: var(--accent); }
.attachment-pass-list { display: grid; gap: 1rem; }
.attachment-pass-card { border: 1px solid var(--line); border-radius: .8rem; padding: 1rem; display: grid; gap: .8rem; background: var(--surface-soft, #f7f9f8); }
.attachment-pass-card > div:first-child { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; flex-wrap: wrap; }
.attachment-list { display: grid; gap: .45rem; }
.attachment-item { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .55rem .7rem; border: 1px solid var(--line); border-radius: .55rem; background: var(--surface, #fff); }
.attachment-item > span:first-child { min-width: 0; display: grid; }
.attachment-item a { overflow-wrap: anywhere; }
@media (max-width: 640px) { .attachment-item { align-items: flex-start; flex-direction: column; } }
