@import "https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700;900&display=swap";.app-shell{min-height:100vh;padding-top:24px;padding-bottom:calc(112px + env(safe-area-inset-bottom,0px));padding-left:max(20px, env(safe-area-inset-left,0px));padding-right:max(20px, env(safe-area-inset-right,0px));color:var(--text-primary);position:relative}.app-backdrop{z-index:-1;background:radial-gradient(circle at 0 0,#5fb4e559,#0000 34%),radial-gradient(circle at 100% 0,#3cbfae47,#0000 36%),linear-gradient(#f7fbfe 0%,#e7f3fb 52%,#e4f2ef 100%);position:fixed;inset:0}.topbar,.app-main{width:min(100%,760px);margin:0 auto}.topbar{justify-content:flex-start;align-items:flex-start;gap:16px;margin-bottom:22px;display:flex}.brand-kicker,.eyebrow,.section-kicker,.summary-label,.metric-card span,.device-card span,.chart-label-row span,.mini-stat span,.field span,.entry-date{letter-spacing:.12em;text-transform:uppercase}.brand-kicker,.eyebrow,.section-kicker{color:var(--text-muted);margin:0;font-size:.72rem;font-weight:700}.topbar h1,.hero-copy h2,.panel h3,.logbook-entry h4,.empty-state h4,.device-card h4{font-family:var(--font-display);color:var(--text-primary);margin:0}.topbar h1{white-space:nowrap;max-width:none;font-size:clamp(2.1rem,5vw,3.4rem);line-height:.96}.app-main{gap:18px;display:grid}.hero-panel,.panel,.bottom-nav{border:1px solid var(--panel-border);box-shadow:var(--panel-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.hero-panel{background:linear-gradient(145deg,#fffffff0,#e7f3fbe0);border-radius:28px;grid-template-columns:1.4fr 1fr;align-items:center;gap:18px;padding:22px;display:grid}.hero-copy{gap:10px;display:grid}.hero-copy h2{max-width:16ch;font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.02}.hero-description,.panel-copy,.empty-state p,.entry-notes{color:var(--text-secondary);margin:0;line-height:1.55}.hero-chart-block{grid-template-columns:auto 1fr;place-items:center;gap:18px;display:grid}.pie-chart{aspect-ratio:1;border-radius:50%;justify-self:center;place-items:center;width:184px;display:grid;box-shadow:inset 0 0 0 1px #111d4e1a}.pie-chart-center{aspect-ratio:1;width:58%;color:var(--text-primary);text-align:center;background:#fffffff5;border-radius:50%;align-content:center;place-items:center;display:grid}.pie-chart-center strong{font-size:1.7rem;line-height:1}.pie-chart-center span{color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem}.pie-legend{gap:10px;display:grid}.pie-legend-item{background:#ffffffc2;border:1px solid #111d4e1a;border-radius:16px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.legend-dot{border-radius:50%;width:10px;height:10px}.pie-legend-item span{color:var(--text-secondary);font-weight:600}.pie-legend-item strong{color:var(--text-primary)}.hero-summary{gap:12px;display:grid}.summary-card,.metric-card,.mini-stat{background:#ffffffe0;border:1px solid #111d4e1f;border-radius:22px}.summary-card{padding:16px}.summary-label{color:var(--text-muted);margin-bottom:8px;font-size:.68rem;font-weight:700;display:block}.summary-card strong{font-size:1.45rem;font-weight:700}.content-stack{gap:18px;display:grid}.panel{background:#ffffffe0;border-radius:28px;padding:22px}.panel-muted{background:#e7f3fbc7}.panel-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.panel h3{margin-top:4px;font-size:1.45rem}.panel-copy{text-align:right;max-width:28ch}.panel-heading-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.logbook-filter-bar{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.field{gap:8px;display:grid}.field span{color:var(--text-muted);font-size:.72rem;font-weight:700}.field-full{grid-column:1/-1}.field input,.field select,.field textarea{width:100%;color:var(--text-primary);font:inherit;box-sizing:border-box;background:#fffffff2;border:1px solid #111d4e29;border-radius:18px;padding:14px 16px;transition:border-color .2s,box-shadow .2s,transform .2s}.field textarea{resize:vertical;min-height:118px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#5fb4e5d1;outline:none;transform:translateY(-1px);box-shadow:0 0 0 4px #5fb4e53d}.primary-button,.secondary-button,.nav-button{font:inherit;cursor:pointer;border:none;transition:transform .2s,box-shadow .2s,background-color .2s,color .2s}.primary-button:hover,.secondary-button:hover,.nav-button:hover{transform:translateY(-1px)}.primary-button{background:linear-gradient(135deg, var(--meduni-dark-blue), #26377c 48%, var(--meduni-light-blue) 100%);color:#fff;border-radius:18px;width:100%;margin-top:18px;padding:15px 18px;font-weight:700;box-shadow:0 18px 30px #111d4e38}.secondary-button{color:var(--text-primary);background:#e7f3fbeb;border:1px solid #111d4e29;border-radius:999px;align-self:flex-start;padding:11px 14px}.form-actions,.entry-actions{flex-wrap:wrap;gap:10px;display:flex}.form-actions .primary-button{flex:220px}.form-actions .secondary-button,.entry-actions .secondary-button{align-self:center}.mini-stats,.metric-grid{gap:14px;display:grid}.mini-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.mini-stat,.metric-card{padding:16px}.mini-stat strong,.metric-card strong{color:var(--text-primary);margin-top:8px;font-size:1.5rem;display:block}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card span{color:var(--text-muted);font-size:.7rem;font-weight:700}.device-list,.chart-list,.logbook-list{gap:14px;display:grid}.technique-overview{margin-top:14px}.technique-chart-card{background:#ffffffd1;border:1px solid #111d4e1f;border-radius:24px;grid-template-columns:auto 1fr;justify-content:center;place-items:center;gap:18px;padding:18px;display:grid}.technique-pie-chart{width:170px}.technique-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}.device-card,.logbook-entry,.empty-state{background:#ffffffd1;border:1px solid #111d4e1f;border-radius:24px}.device-card,.empty-state{padding:18px}.device-card-header,.logbook-entry-top,.chart-label-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.device-card-header span,.entry-meta span{color:var(--text-secondary);font-size:.92rem}.tt-summary-card,.technique-card,.technique-chart-card{text-align:center}.tt-summary-card .device-card-header,.technique-card .device-card-header{justify-content:center;align-items:center;gap:24px}.device-card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.device-card-grid.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}.device-card-grid.tt-summary-grid{grid-template-columns:repeat(3,minmax(0,240px));justify-content:center}.device-card-grid.single-stat{grid-template-columns:1fr}.device-card-grid div{text-align:center;border-top:1px solid #111d4e1a;padding-top:12px}.device-card-grid span{color:var(--text-muted);margin-bottom:6px;font-size:.66rem;font-weight:700;display:block}.device-card-grid strong{color:var(--text-primary);font-size:1.18rem}.chart-row{gap:10px;display:grid}.chart-label-row strong{color:var(--text-primary)}.technique-chart-card .pie-legend{width:min(100%,320px)}.chart-track{background:#111d4e1a;border-radius:999px;height:12px;overflow:hidden}.chart-bar{border-radius:inherit;background:linear-gradient(90deg, var(--meduni-green), var(--meduni-light-blue), var(--meduni-dark-blue));min-width:6px;height:100%}.empty-state{text-align:center}.empty-state h4{margin-bottom:8px;font-size:1.2rem}.logbook-entry{gap:14px;padding:18px;display:grid}.entry-date{color:var(--text-muted);margin:0 0 6px;font-size:.68rem;font-weight:700}.logbook-entry h4{font-size:1.3rem}.entry-meta{flex-wrap:wrap;gap:10px 16px;display:flex}.outcome-pill{white-space:nowrap;border-radius:999px;align-items:center;padding:8px 12px;font-size:.82rem;font-weight:700;display:inline-flex}.outcome-1st_pass{color:#17665d;background:#3cbfae29}.outcome-2nd_pass,.outcome-3rd_pass{color:#8a3f31;background:#f0a79442}.outcome-failed{color:var(--meduni-dark-blue);background:#111d4e1f}.bottom-nav{left:max(20px, env(safe-area-inset-left,0px), calc(50% - 380px));right:max(20px, env(safe-area-inset-right,0px), calc(50% - 380px));bottom:calc(18px + env(safe-area-inset-bottom,0px));background:#ffffffdb;border-radius:24px;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:10px;display:grid;position:fixed}.nav-button{color:var(--text-secondary);background:0 0;border-radius:18px;padding:14px 12px;font-weight:700}.nav-button.is-active{background:linear-gradient(135deg, var(--meduni-dark-blue), #26377c);color:#fff;box-shadow:0 10px 24px #111d4e3d}@media (width<=760px){.app-shell{padding-top:18px;padding-bottom:calc(108px + env(safe-area-inset-bottom,0px));padding-left:max(14px, env(safe-area-inset-left,0px));padding-right:max(14px, env(safe-area-inset-right,0px))}.topbar,.panel-heading,.hero-panel,.logbook-entry-top{grid-template-columns:1fr}.topbar,.panel-heading,.hero-panel,.device-card-header,.logbook-entry-top{display:grid}.topbar-chip,.panel-copy,.panel-heading-actions{text-align:left;justify-self:start}.hero-chart-block{grid-template-columns:1fr}.pie-chart{justify-self:center;width:min(100%,200px)}.hero-panel,.form-grid,.metric-grid,.mini-stats,.device-card-grid,.technique-cards-grid,.technique-chart-card,.logbook-filter-bar{grid-template-columns:1fr}.form-actions .primary-button{flex-basis:100%}.bottom-nav{left:max(14px, env(safe-area-inset-left,0px));right:max(14px, env(safe-area-inset-right,0px));bottom:calc(14px + env(safe-area-inset-bottom,0px))}}.checkbox-group{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;display:grid}.checkbox-option{border:1px solid var(--panel-border);color:var(--text-primary);cursor:pointer;background:#ffffffe0;border-radius:14px;align-items:center;gap:10px;padding:12px 14px;font-size:14px;font-weight:500;display:flex}.checkbox-option:has(input:checked){border-color:var(--meduni-light-blue);background:var(--meduni-pale-blue)}.checkbox-option input{width:18px;height:18px;accent-color:var(--meduni-dark-blue);appearance:auto;cursor:pointer;flex:none;margin:0}.checkbox-option span{letter-spacing:normal;text-transform:none;color:inherit;font-size:14px}.auth-shell{min-height:100vh;padding:calc(24px + env(safe-area-inset-top,0px)) max(24px, env(safe-area-inset-right,0px)) calc(24px + env(safe-area-inset-bottom,0px)) max(24px, env(safe-area-inset-left,0px));background:radial-gradient(circle at 12% 18%, #5fb4e547, transparent 55%), radial-gradient(circle at 88% 8%, #3cbfae38, transparent 50%), var(--meduni-pale-blue);justify-content:center;align-items:center;display:flex}.auth-loading{color:var(--text-muted);font-size:15px}.auth-card{border:1px solid var(--panel-border);width:100%;max-width:400px;box-shadow:var(--panel-shadow);background:#fffffff5;border-radius:22px;flex-direction:column;gap:14px;padding:32px;display:flex}.auth-card h1{font-size:24px;font-family:var(--font-display);color:var(--text-primary);margin:0}.auth-intro{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.5}.auth-card label{color:var(--text-secondary);flex-direction:column;gap:6px;font-size:13px;font-weight:500;display:flex}.auth-card input{border:1px solid var(--panel-border);color:var(--text-primary);background:#fffffff5;border-radius:12px;padding:11px 13px;font-size:15px}.auth-card input:focus{outline:2px solid var(--meduni-light-blue);outline-offset:1px}.auth-error{background:var(--meduni-pale-coral);color:#8a3520;border-radius:10px;margin:0;padding:10px 12px;font-size:13px}.auth-link{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-self:center;padding:4px;font-size:13px;text-decoration:underline}.auth-link:hover{color:var(--text-primary)}.auth-note{color:var(--text-muted);margin:4px 0 0;font-size:12px;line-height:1.45}.account-bar{z-index:20;padding:calc(8px + env(safe-area-inset-top,0px)) max(18px, env(safe-area-inset-right,0px)) 8px max(18px, env(safe-area-inset-left,0px));border-bottom:1px solid var(--panel-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffeb;align-items:center;gap:12px;font-size:12px;display:flex;position:sticky;top:0}.account-email{min-width:0;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;margin-left:auto;overflow:hidden}.account-bar .sync-badge,.account-bar .auth-link{white-space:nowrap;flex:none}.account-bar .auth-link{align-self:auto}.sync-badge{border-radius:999px;align-items:center;gap:6px;min-width:0;padding:3px 10px;font-weight:500;display:inline-flex}.sync-badge:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.sync-badge.is-idle{background:var(--meduni-pale-green);color:#1f7a6d}.sync-badge.is-syncing{background:var(--meduni-pale-blue);color:#1f4f7a}.sync-badge.is-offline{color:var(--text-muted);background:#111d4e12}.sync-badge.is-error{background:var(--meduni-pale-coral);color:#8a3520}@media (width<=520px){.auth-card{padding:24px}.account-bar{padding:calc(8px + env(safe-area-inset-top,0px)) max(12px, env(safe-area-inset-right,0px)) 8px max(12px, env(safe-area-inset-left,0px))}}:root{--meduni-dark-blue:#111d4e;--meduni-light-blue:#5fb4e5;--meduni-green:#3cbfae;--meduni-coral:#f0a794;--meduni-pale-blue:#e7f3fb;--meduni-pale-green:#e4f2ef;--meduni-pale-coral:#fdf0eb;--text-primary:#111d4e;--text-secondary:#334365;--text-muted:#526286;--panel-border:#111d4e1f;--panel-shadow:0 22px 50px #111d4e1f;--font-sans:"Roboto", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-display:var(--font-sans);font-family:var(--font-sans);color:var(--text-primary);background:var(--meduni-pale-blue);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;min-height:100%}body{min-height:100vh;margin:0}body,button,input,select,textarea{font-family:var(--font-sans)}button,input,select,textarea{appearance:none}#root{min-height:100vh}
