.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url("./media/layers-55W3Q4RM.png");width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url("./media/layers-2x-TBM42ERR.png");background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url("./media/marker-icon-2V3QKKVC.png")}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}:root{--alsedi-cyan: #1AD5D5;--alsedi-blue: #0E2863;--alsedi-orange: #FB5A00;--header-gradient: linear-gradient(180deg, #0E2863 0%, #16367E 100%);--success: #2E7D32;--success-bg: #E8F5E9;--danger: #C62828;--danger-bg: #FFEBEE;--warning: #E65100;--warning-bg: #FFF3E0;--info: #1565C0;--primary: #0E2863;--on-primary: #FFFFFF;--primary-container: #E3E9F7;--secondary-container: #D4F7F7;--on-secondary-container: #00504F;--bg: #F4F6FB;--surface: #FFFFFF;--surface-variant: #EEF2F8;--surface-high: #F1F4F9;--text: #0E2863;--text-muted: #55607A;--outline: #C9D2E3;--outline-variant: #E2E8F0;--error: #D32F2F;--error-container: #FDECEA;--on-error-container: #7A1C1C;--shadow: 0 1px 3px rgba(14, 40, 99, .08), 0 1px 2px rgba(14, 40, 99, .04);--shadow-raised: 0 10px 30px rgba(14, 40, 99, .18);--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--radius-xl: 20px;color-scheme:light}:root[data-theme=dark]{--primary: #1AD5D5;--on-primary: #0E2863;--primary-container: #1B3A7A;--secondary-container: #12474F;--on-secondary-container: #F1F5F9;--bg: #0F172A;--surface: #1E293B;--surface-variant: #334155;--surface-high: #263449;--text: #F1F5F9;--text-muted: #B6C2D6;--outline: #475569;--outline-variant: #334155;--error: #F2B8B5;--error-container: #5C1A1A;--on-error-container: #FFDAD6;--success-bg: rgba(46, 125, 50, .18);--danger-bg: rgba(198, 40, 40, .18);--warning-bg: rgba(230, 81, 0, .18);--shadow: 0 1px 3px rgba(0, 0, 0, .4);--shadow-raised: 0 10px 30px rgba(0, 0, 0, .5);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.45;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p{margin:0}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--primary)}.muted{color:var(--text-muted)}.small{font-size:13px}.bold{font-weight:700}.money{font-weight:700;color:var(--primary)}.text-orange{color:var(--alsedi-orange)}.text-danger{color:var(--danger)}.text-success{color:var(--success)}.icon{font-family:Material Symbols Rounded;font-weight:400;font-style:normal;font-size:20px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" 1;-webkit-user-select:none;user-select:none;flex-shrink:0}.icon--sm{font-size:16px}.icon--lg{font-size:32px}.page{min-height:100vh;padding-bottom:32px}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 16px}.container--narrow{max-width:820px}.stack{display:flex;flex-direction:column;gap:12px}.stack--sm{gap:8px}.row{display:flex;align-items:center;gap:8px}.row--between{justify-content:space-between}.row--wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-mark__row{display:flex;align-items:center;gap:6px}.brand-mark__name{color:#fff;font-weight:800;font-size:20px;letter-spacing:1px}.brand-mark__go{color:var(--alsedi-cyan);background:#1ad5d52e;border-radius:6px;padding:0 6px;font-weight:900;font-size:16px}.brand-bars{display:flex;gap:8px;margin-top:10px}.brand-bars span{width:48px;height:5px;border-radius:3px;display:block}.brand-bars span.brand-bars__blue{background:var(--alsedi-blue);box-shadow:0 0 0 1.5px #fff}.brand-bars--small{gap:4px;margin-top:6px}.brand-bars--small span.brand-bars__blue{box-shadow:0 0 0 1px #fff}.brand-bars--small span{width:18px;height:3px;border-radius:2px}.hero{background:var(--header-gradient);color:#fff;border-radius:0 0 28px 28px;padding:16px 0 22px;margin-bottom:16px}.hero__top{display:flex;align-items:center;gap:4px}.hero__greeting{margin-top:20px;font-size:26px;font-weight:700}.hero__subtitle{color:#ffffffbf}.hero__stats{margin-top:18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;max-width:720px}.stat-tile{border:0;text-align:left;border-radius:var(--radius-lg);background:#ffffff1a;color:#fff;padding:10px 12px;cursor:pointer;transition:background .15s ease}.stat-tile:hover{background:#ffffff2e}.stat-tile--static{cursor:default}.stat-tile--static:hover{background:#ffffff1a}.stat-tile--selected,.stat-tile--selected:hover{background:#fff;color:var(--alsedi-blue)}.stat-tile__value{font-size:22px;font-weight:700}.stat-tile__label{display:flex;align-items:center;gap:6px;font-size:13px;opacity:.9;white-space:nowrap}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.avatar{width:34px;height:34px;border-radius:50%;background:var(--alsedi-cyan);color:var(--alsedi-blue);font-weight:700;font-size:13px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.avatar--lg{width:72px;height:72px;font-size:26px;background:var(--header-gradient);color:#fff}.avatar--md{width:48px;height:48px;font-size:16px;color:#fff}.topbar{position:sticky;top:0;z-index:20;background:var(--surface-variant);border-bottom:1px solid var(--outline-variant)}.topbar__inner{display:flex;align-items:center;gap:4px;min-height:64px}.topbar__title{font-size:18px;font-weight:700}.topbar__subtitle{font-size:13px;color:var(--text-muted)}.progress{height:3px;width:100%;overflow:hidden;background:var(--primary-container);position:relative}.progress:after{content:"";position:absolute;inset:0 auto 0 0;width:40%;background:var(--primary);animation:progress 1.1s ease-in-out infinite}@keyframes progress{0%{left:-40%}to{left:100%}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 18px;border-radius:var(--radius);border:1px solid transparent;background:var(--primary);color:var(--on-primary);font-weight:700;font-size:14px;letter-spacing:.3px;cursor:pointer;transition:filter .15s ease,background .15s ease;white-space:nowrap;text-decoration:none}.btn:hover:not(:disabled){filter:brightness(1.12)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--lg{min-height:56px;width:100%;font-size:15px}.btn--block{width:100%}.btn--danger{background:var(--danger);color:#fff}.btn--orange{background:var(--alsedi-orange);color:#fff}.btn--info{background:var(--info);color:#fff}.btn--outline{background:transparent;color:var(--primary);border-color:var(--outline)}.btn--outline-danger{background:transparent;color:var(--danger);border-color:var(--danger)}.btn--tonal{background:var(--secondary-container);color:var(--on-secondary-container)}.btn--text{background:transparent;color:var(--primary);padding:0 10px;min-height:36px}.btn--text:hover:not(:disabled){background:var(--surface-high);filter:none}.btn--text.text-danger{color:var(--danger)}.icon-btn{width:40px;height:40px;border-radius:50%;border:0;background:transparent;color:inherit;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .15s ease}.icon-btn:hover:not(:disabled){background:#7f7f7f24}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.icon-btn.text-danger{color:var(--danger)}.icon-btn--sm{width:32px;height:32px}.icon-btn--filled{background:var(--primary);color:var(--on-primary)}.icon-btn--filled:hover:not(:disabled){background:var(--primary);filter:brightness(1.12)}.icon-btn--muted{background:var(--outline-variant)}.fab-area{position:fixed;right:24px;bottom:24px;z-index:30;display:flex;flex-direction:column;align-items:flex-end;gap:12px}.fab{display:inline-flex;align-items:center;gap:8px;height:56px;padding:0 20px;border:0;border-radius:var(--radius-lg);background:var(--primary-container);color:var(--text);font-weight:700;box-shadow:var(--shadow-raised);cursor:pointer}.fab--dark{background:var(--alsedi-blue);color:#fff}.fab--small{height:44px;width:44px;padding:0;justify-content:center;border-radius:var(--radius)}.card{background:var(--surface);border:1px solid var(--outline-variant);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.card--padded{padding:16px}.card--clickable{cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.card--clickable:hover{transform:translateY(-2px);box-shadow:var(--shadow-raised)}.module-card{display:flex;align-items:center;gap:16px;padding:20px;width:100%;text-align:left;color:var(--text)}.module-card .icon{color:var(--primary);font-size:32px}.module-card__title{font-weight:700;font-size:16px}.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.tag{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:6px;font-size:12px;font-weight:700;white-space:nowrap}.tag--pill{border-radius:999px}.tag--takeaway{color:var(--warning);background:var(--warning-bg)}.chips{display:flex;gap:8px;flex-wrap:wrap}.chips--scroll{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.chip{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;border-radius:999px;border:1px solid var(--outline);background:var(--surface);color:var(--text);font-size:14px;cursor:pointer;white-space:nowrap;transition:background .15s ease}.chip:hover{background:var(--surface-high)}.chip--selected,.chip--selected:hover{background:var(--secondary-container);color:var(--on-secondary-container);border-color:transparent;font-weight:500}.field{display:flex;flex-direction:column;gap:4px}.field__label{font-size:13px;font-weight:500;color:var(--text-muted)}.field__hint{font-size:12px;color:var(--text-muted)}.field__hint--error{color:var(--danger)}.input-wrap{position:relative;display:flex;align-items:center}.input-wrap>.icon:first-child{position:absolute;left:14px;color:var(--text-muted);pointer-events:none}.input-wrap>.icon-btn{position:absolute;right:4px}.money-prefix{position:absolute;left:16px;font-weight:700;color:var(--text-muted);pointer-events:none}.input.input--money{padding-left:32px;font-weight:500}.input{width:100%;min-height:48px;padding:10px 14px;border-radius:var(--radius);border:1px solid var(--outline);background:var(--surface);color:var(--text);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.input:focus{border-color:var(--alsedi-cyan);box-shadow:0 0 0 3px #1ad5d533}.input:disabled{opacity:.6}.input--error,.input--error:focus{border-color:var(--danger);box-shadow:none}.input--icon{padding-left:44px}.input--action{padding-right:48px}.input--round{border-radius:var(--radius-lg);border-color:var(--outline-variant)}textarea.input{min-height:72px;resize:vertical}.section-title{font-size:13px;font-weight:700;color:var(--primary);margin-top:6px}.switch-row{display:flex;align-items:center;gap:12px;cursor:pointer}.switch-row>span:first-child{flex:1}.switch{position:relative;width:46px;height:26px;flex-shrink:0}.switch input{opacity:0;width:0;height:0;position:absolute}.switch__track{position:absolute;inset:0;background:var(--outline);border-radius:999px;transition:background .15s ease;cursor:pointer}.switch__track:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .15s ease;box-shadow:0 1px 2px #0000004d}.switch input:checked+.switch__track{background:var(--primary)}.switch input:checked+.switch__track:after{transform:translate(20px)}.switch input:disabled+.switch__track{opacity:.5;cursor:not-allowed}.checkbox{width:20px;height:20px;accent-color:var(--success);cursor:pointer}.radio-card{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius);border:1px solid var(--outline);cursor:pointer}.radio-card input{accent-color:var(--primary);width:18px;height:18px}.form-error{display:flex;align-items:center;gap:8px;padding:12px;border-radius:var(--radius);background:var(--error-container);color:var(--on-error-container);font-size:13px}.form-error .icon{color:var(--error)}.banner{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:14px;background:var(--error-container);color:var(--on-error-container)}.empty-state{padding:32px 16px;text-align:center;color:var(--text-muted)}.toast-host{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:1000;display:flex;flex-direction:column;gap:8px;width:min(560px,calc(100vw - 32px))}.toast{background:#1e293b;color:#f1f5f9;padding:14px 16px;border-radius:var(--radius-sm);box-shadow:var(--shadow-raised);display:flex;align-items:center;gap:12px;animation:toast-in .2s ease}:root[data-theme=dark] .toast{background:#f1f5f9;color:#0e2863}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.modal-host{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:16px}.modal-backdrop{position:absolute;inset:0;background:#0f172a8c}.modal{position:relative;width:min(480px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column;background:var(--surface);color:var(--text);border-radius:24px;padding:24px;box-shadow:var(--shadow-raised);animation:modal-in .18s ease}.modal--wide{width:min(640px,100%)}@keyframes modal-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}.modal__icon{font-size:28px;align-self:center;margin-bottom:12px;color:var(--text-muted)}.modal__title{font-size:20px;font-weight:500;margin-bottom:16px}.modal__body{overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:2px;margin:-2px}.modal__actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:20px}.modal__actions:empty{display:none}.menu-anchor{position:relative}.dropdown{position:absolute;right:0;top:100%;z-index:40;min-width:220px;background:var(--surface);border:1px solid var(--outline-variant);border-radius:var(--radius);box-shadow:var(--shadow-raised);padding:6px 0}.dropdown__item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 16px;border:0;background:transparent;text-align:left;cursor:pointer}.dropdown__item:hover:not(:disabled){background:var(--surface-high)}.dropdown__item:disabled{opacity:.45;cursor:not-allowed}.dropdown__item small{display:block;color:var(--text-muted)}.spinner{display:inline-block;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite;flex-shrink:0}.spinner--light{color:#fff}@keyframes spin{to{transform:rotate(360deg)}}hr.divider{border:0;border-top:1px solid var(--outline-variant);margin:10px 0}@media (min-width: 1024px){body{font-size:16px}.container{max-width:1360px;padding:0 24px}.container--narrow{max-width:960px}.small{font-size:14px}.icon{font-size:22px}.icon--sm{font-size:18px}.icon--lg{font-size:36px}.brand-mark__name{font-size:24px}.brand-mark__go{font-size:19px}.brand-bars--small span{width:22px;height:4px}.hero{padding:22px 0 28px}.hero__greeting{font-size:32px}.hero__subtitle{font-size:17px}.hero__stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));max-width:880px;gap:12px}.stat-tile{padding:14px 16px}.stat-tile__value{font-size:28px}.stat-tile__label{font-size:15px}.avatar{width:40px;height:40px;font-size:15px}.icon-btn{width:44px;height:44px}.icon-btn--sm{width:36px;height:36px}.topbar__inner{min-height:72px}.topbar__title{font-size:21px}.topbar__subtitle{font-size:14px}.btn{min-height:44px;font-size:15px}.chip{height:40px;padding:0 16px;font-size:15px}.tag{font-size:13px;padding:3px 10px}.input{min-height:52px;font-size:16px}.field__label{font-size:14px}.module-card{padding:24px}.module-card__title{font-size:18px}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}.modal{width:min(540px,100%)}.modal--wide{width:min(720px,100%)}.modal__title{font-size:22px}.toast{font-size:15px}}@media (max-width: 600px){.fab-area{right:16px;bottom:16px}.modal{padding:20px;border-radius:20px}.hero__greeting{font-size:22px}}
