@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.fixed{position:fixed}.start{inset-inline-start:var(--spacing)}}:root{color:#30352e;font-synthesis:none;background:#faf9f5;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,a{font:inherit}button,a{cursor:pointer}button{transition:background .2s,transform .2s}button:disabled{opacity:.45;cursor:default}a{color:inherit;text-decoration:none}button{border:0}h1,h2,h3,p{margin:0}button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #d59a68}.app{min-height:100vh;display:flex}.sidebar{background:#f2f0e8;border-right:1px solid #e7e4da;flex-direction:column;flex-shrink:0;width:244px;padding:36px 23px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:-1px;align-items:center;gap:12px;font-family:Georgia,serif;font-size:28px;font-weight:700;display:flex}.brand small{letter-spacing:2.8px;color:#777b68;margin-top:5px;font:9px Arial;display:block}.brand-mark{color:#a95332;font-size:47px;line-height:1}.workspace-label{letter-spacing:1.7px;color:#999b8e;margin:53px 12px 18px;font-size:10px}.nav{text-align:left;color:#757b6f;background:0 0;border-radius:8px;align-items:center;gap:12px;width:100%;margin:5px 0;padding:14px 13px;font-size:13px;display:flex}.nav.active{color:#444f37;background:#e4e6d8;font-weight:700}.nav small{background:#d2d9c5;border-radius:4px;margin-left:auto;padding:2px 5px}.side-help{color:#7a8069;margin-top:auto;padding:30px 14px}.side-help h3{margin:12px 0;font:italic 22px/1.3 Georgia}.side-help p{font-size:11px;line-height:1.8}.side-help>div{margin-top:17px;font-size:11px}.account{border-top:1px solid #deded2;align-items:center;gap:9px;padding-top:20px;display:flex}.avatar{color:#8d6544;background:#e9ddc8;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.account strong{font-size:11px;display:block}.account small{color:#888e7f;text-overflow:ellipsis;max-width:123px;margin-top:5px;font-size:9px;display:block;overflow:hidden}.account a{color:#8a907f;margin-left:auto}.main{flex:1;min-width:0;margin-left:244px}.topbar{color:#8c9284;border-bottom:1px solid #eae8df;justify-content:space-between;align-items:center;height:75px;padding:0 43px;font-size:12px;display:flex}.topbar>span{align-items:center;gap:11px;display:flex}.secure{background:#eff1e7;border-radius:20px;padding:7px 12px;font-size:10px;color:#6b7f57!important}.content{max-width:1440px;margin:auto;padding:35px 42px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;display:flex}.eyebrow{letter-spacing:2px;color:#8e957e;font-size:9px;font-weight:700}.page-heading h1{margin:10px 0;font:32px Georgia}.page-heading p:last-child{color:#8b9082;font-size:12px}.primary{color:#fff;white-space:nowrap;background:#67794f;border-radius:6px;justify-content:center;align-items:center;gap:9px;padding:12px 17px;font-size:12px;display:inline-flex}.hero{background:#e9eadb;border:1px solid #dddfca;border-radius:12px;min-height:285px;display:flex;position:relative;overflow:hidden}.hero-text{z-index:1;padding:30px 34px}.hero-tag{letter-spacing:1.6px;color:#7d8369;align-items:center;gap:7px;font-size:8px;display:flex}.hero-tag span{background:#929c75;border-radius:50%;width:5px;height:5px}.hero h2{color:#434e36;letter-spacing:-1px;margin:15px 0 12px;font:35px/1.12 Georgia}.hero h2 em{color:#77845b;font-weight:400}.hero p{color:#868c76;font-size:11px;line-height:1.8}.hero-button{color:#596649;background:0 0;border-bottom:1px solid #98a284;align-items:center;gap:18px;margin-top:9px;padding:10px 0 6px;font-size:11px;display:flex}.festival-art{flex:1;justify-content:center;align-items:center;min-width:270px;padding-bottom:30px;display:flex;position:relative;overflow:hidden}.art-center{color:#a86a3b;filter:drop-shadow(0 3px #d8bb87);z-index:1;font-size:178px}.orbit{border:1px solid #b4b99777;border-radius:50%;width:235px;height:235px;position:absolute}.o2{border-style:dashed;width:278px;height:278px}.art-mini{color:#9da480;font-size:40px;position:absolute}.mini1{top:33px;right:25px}.mini2{bottom:70px;left:5px}.art-label{text-align:center;color:#727b56;font-size:19px;position:absolute;bottom:22px}.art-label small{letter-spacing:2px;margin-top:7px;font-size:7px;display:block}.stats{grid-template-columns:repeat(4,1fr);gap:16px;margin:22px 0 28px;display:grid}.stat{background:#fff;border:1px solid #e9e7dd;border-radius:9px;padding:20px}.stat>div{color:#8a917e;justify-content:space-between;align-items:center;font-size:10px;display:flex}.stat strong{color:#46533a;margin:15px 0 9px;font:29px Georgia;display:block}.stat small{color:#999e90;font-size:9px}.panel{background:#fff;border:1px solid #e7e6dd;border-radius:10px;overflow:hidden}.section-title{justify-content:space-between;align-items:center;gap:15px;padding:23px 23px 17px;display:flex}.section-title h2{font:18px Georgia}.section-title p{color:#969c8c;margin-top:7px;font-size:10px}.section-title>span{color:#89907e;font-size:10px}.date-range{align-items:center;gap:7px;display:flex}.days{grid-template-columns:repeat(9,1fr);gap:9px;padding:0 23px 23px;display:grid}.day{color:#7a806e;background:#fafaf7;border:1px solid #ebece4;border-radius:7px;flex-direction:column;align-items:center;gap:7px;padding:12px 5px;display:flex;position:relative}.day.selected{border-color:var(--day-color);color:var(--day-color);box-shadow:0 0 0 1px var(--day-color);background:#f8f0e9}.day-icon{color:var(--day-color);font-size:22px}.day strong{font-size:11px}.day small{font-size:8px}.day i{background:#67794f;border-radius:50%;width:4px;height:4px;position:absolute;top:6px;right:7px}.pass-layout{grid-template-columns:minmax(0,1fr) 272px;gap:22px;margin-top:25px;display:grid}.pass-toolbar{gap:7px;padding:0 23px 17px;display:flex}.search{color:#a0a692;background:#fafbf8;border:1px solid #e9ece3;border-radius:5px;flex:1;align-items:center;gap:9px;min-width:0;padding:8px 11px;display:flex}.search input{color:#4b5640;background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:10px}.icon-button{color:#79866a;background:#fff;border:1px solid #e3e7da;border-radius:5px;align-items:center;padding:8px;display:flex}.table-wrap{overflow:auto}table{border-collapse:collapse;text-align:left;width:100%}th{letter-spacing:.7px;color:#9a9e91;background:#fafbf7;padding:12px 17px;font-size:8px;font-weight:400}td{color:#7e8573;border-bottom:1px solid #f0f0e9;padding:15px 17px;font-size:10px}td strong{color:#4d5940;font-size:11px;display:block}td small{color:#a2a794;margin-top:6px;font-size:8px;display:block}.badge{color:#73835a;white-space:nowrap;background:#edf1e5;border-radius:5px;padding:5px 7px;font-size:8px}.badge.used{color:#999e91;background:#eeeee9}.text-button{color:#7b885f;white-space:nowrap;background:0 0;font-size:9px}.panel-foot{color:#949d86;justify-content:space-between;gap:10px;padding:13px 23px;font-size:8px;display:flex}.preview-label{letter-spacing:1px;color:#939a84;justify-content:space-between;align-items:center;margin:4px 0 15px;font-size:8px;display:flex}.preview-label span{letter-spacing:0;font-size:8px}.ticket-card{background:#fdfaf4;border:1px solid #e5d9c9;border-radius:11px;position:relative;overflow:hidden;box-shadow:0 8px 18px #51482b08}.ticket-top{background:var(--accent);color:#fff7e9;align-items:center;gap:8px;padding:18px 15px;display:flex}.ticket-top>span{font-size:29px}.ticket-top p{letter-spacing:1px;flex:1;font-size:8px}.ticket-top p small{letter-spacing:0;opacity:.7;margin-top:5px;font-size:7px;display:block}.ticket-top>strong{border:1px solid #fff5;border-radius:3px;padding:6px;font-size:8px}.ticket-body{text-align:center;padding:22px 20px}.ticket-body .eyebrow{letter-spacing:1.5px;color:#aa9b83;font-size:7px}.ticket-body h3{color:#53432f;margin:14px 0 8px;font:25px Georgia}.ticket-body>p{color:#958770;font-size:11px}.ticket-meta{text-align:left;justify-content:space-around;margin-top:21px;display:flex}.ticket-meta small{letter-spacing:1px;color:#aa9b84;font-size:7px;display:block}.ticket-meta strong{color:#78634a;margin-top:7px;font-size:11px;display:block}.ticket-dash{border-bottom:1px dashed #ded3bf;margin:20px -20px}.location{font-size:10px!important}.location small{margin:7px 0 18px;font-size:8px;display:block}.pass-code{word-break:break-all;color:var(--accent);background:#f1ece1;border-radius:4px;padding:10px 7px;font-family:monospace;font-size:8px}.ticket-rule{color:#ac9f88;margin-top:14px;font-size:7px;display:block}.ticket-bottom{color:#9b825d;background:#f4ede0;justify-content:center;gap:15px;padding:12px;font-size:10px;display:flex}.preview-note{color:#9a9e8e;text-align:center;margin:16px 0;font-size:9px;line-height:1.9}.preview-note svg{vertical-align:middle;color:#78855c;display:inline}.used-stamp{color:#888;margin-top:10px;display:block}.how{color:#9a9e8c;border-top:1px solid #e8e6dc;border-bottom:1px solid #e8e6dc;justify-content:space-between;align-items:center;margin:28px 0;padding:16px 0;font-size:9px;display:flex}.how>span{letter-spacing:1px;font-size:7px}.how b{color:#869367;margin-right:7px}footer{color:#b0b3a4;justify-content:center;gap:9px;margin-top:30px;font-size:8px;display:flex}.empty{text-align:center;color:#9fa68e;padding:45px 20px}.empty svg{margin:auto}.empty h3{color:#6e7c5a;margin:15px 0;font:18px Georgia}.empty p{margin:10px 0 20px;font-size:11px}.family-grid{grid-template-columns:repeat(2,1fr);gap:18px;padding:23px;display:grid}.family{border:1px solid #e5e8dc;border-radius:8px;padding:20px}.family-head{align-items:center;gap:10px;margin-bottom:15px;display:flex}.family-head h3{font:19px Georgia}.family-head small{color:#9aa086;font-size:10px}.family-head .badge{margin-left:auto}.member{color:#6e785f;border-top:1px solid #eeeee7;padding:12px 0;font-size:12px}.member span{color:#a1aa92;margin-right:15px;font-size:10px}.panel>.search{margin:0 23px}.settings{max-width:720px}.settings>p{color:#9b9e8b;padding:0 23px;font-size:12px;line-height:1.6}.settings form{padding:25px}.settings label,.modal label{color:#798369;margin:0 0 17px;font-size:11px;display:block}.settings input,.modal input{color:#48583a;background:#fdfefb;border:1px solid #dfe4d5;border-radius:6px;outline-color:#92a77a;width:100%;margin-top:7px;padding:11px 12px;font-size:13px;display:block}.notice{color:#5e704c;background:#edf1e3;border:1px solid #d8e0c9;border-radius:7px;justify-content:space-between;gap:15px;margin-bottom:20px;padding:13px 15px;font-size:12px;display:flex}.notice button{background:0 0}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#26311d77;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#fafbf6;border-radius:14px;width:470px;max-height:90vh;padding:32px;position:relative;overflow:auto}.modal h2{margin:12px 0;font:29px Georgia}.modal>p:not(.eyebrow){color:#909780;font-size:11px;line-height:1.5}.modal form{margin-top:25px}.close{color:#8c977c;background:0 0;font-size:27px;position:absolute;top:15px;right:20px}.member-inputs{grid-template-columns:1fr 1fr;gap:0 14px;display:grid}.print-sheet{display:none}.login{background:radial-gradient(circle at 70% 30%,#d9dec4,#0000 55%),#f3f1e7;place-items:center;min-height:100vh;padding:25px;display:grid}.login-card{text-align:center;max-width:470px;padding:40px}.login-card h1{color:#53613e;margin:22px 0;font:54px/1.1 Georgia}.login-card p{color:#849071;margin:15px 0;font-size:13px;line-height:1.8}.login-card .primary{margin:15px}.login-card small{color:#99a08d;font-size:10px;display:block}@media (min-width:1500px){.hero{min-height:310px}.hero h2{font-size:41px}.festival-art .art-center{font-size:210px}.orbit{width:260px;height:260px}.o2{width:310px;height:310px}}@media (max-width:1150px){.sidebar{width:205px;padding:25px 15px}.main{margin-left:205px}.content{padding:25px}.topbar{padding:0 25px}.pass-layout{grid-template-columns:minmax(0,1fr) 245px}.section-title{padding:20px 17px}.pass-list .section-title{flex-wrap:wrap}.hero-text{padding:25px}.stats{gap:10px}.stat{padding:16px}.how{flex-wrap:wrap;gap:12px}.days{gap:6px;padding:0 17px 20px}}@media (max-width:850px){.sidebar{border-bottom:1px solid #ddd;flex-direction:row;align-items:center;gap:20px;width:100%;padding:17px;position:relative}.sidebar nav{margin-left:auto;display:flex}.nav{gap:0;padding:9px;font-size:0}.nav small,.workspace-label,.side-help,.account{display:none}.brand{font-size:21px}.brand-mark{font-size:32px}.brand small{font-size:7px}.app{display:block}.main{margin-left:0}.topbar{height:53px}.content{padding:22px}.page-heading h1{font-size:25px}.pass-layout{grid-template-columns:minmax(0,1fr) 245px}.stats{grid-template-columns:repeat(2,1fr)}.hero h2{font-size:32px}.festival-art{min-width:190px}.art-center{font-size:140px}.orbit{width:180px;height:180px}.o2{width:230px;height:230px}.hero p{max-width:260px}.desktop{display:none}.days{grid-template-columns:repeat(9,minmax(65px,1fr));overflow:auto}}@media (max-width:620px){.content{padding:20px 14px}.page-heading{align-items:start}.page-heading h1{font-size:23px}.page-heading .primary{padding:10px;font-size:10px}.page-heading .eyebrow{letter-spacing:1px;font-size:7px}.page-heading p:last-child{font-size:10px;line-height:1.8}.hero{min-height:275px}.hero-text{padding:23px}.hero h2{font-size:30px}.hero p{max-width:240px;font-size:10px}.festival-art{opacity:.18;min-width:250px;height:250px;position:absolute;bottom:25px;right:-50px}.hero-tag{font-size:7px}.art-label{display:none}.pass-layout{grid-template-columns:1fr}.preview-column{width:100%;max-width:320px;margin:12px auto}.stat{padding:16px}.date-range{display:none!important}.section-title h2{font-size:16px}.family-grid{grid-template-columns:1fr;padding:17px}.panel-foot{flex-wrap:wrap}.how{display:none}.member-inputs{grid-template-columns:1fr}.modal{padding:27px}.login-card h1{font-size:43px}}@media print{body{background:#fff}.sidebar,.topbar,.content>*{display:none!important}.main{margin:0}.content{padding:0}.content .print-sheet{grid-template-columns:repeat(2,1fr);gap:16px;display:grid!important}.ticket-card{break-inside:avoid;box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}.ticket-top{background:var(--accent)!important}.ticket-body{padding:20px}.ticket-card h3{font-size:24px}.modal-backdrop{display:none}@page{size:A4;margin:14mm}}:root{color:#253047;background:#f5f6fa;font-family:Inter,Arial,Helvetica,sans-serif}.sidebar{background:#171b31;border-color:#232942;width:248px}.brand{letter-spacing:1px;color:#fff;font-family:Arial,sans-serif;font-size:21px}.brand-mark{color:#a998ff;font-size:40px}.brand small{color:#8b93b4;letter-spacing:2px;font-size:8px}.nav{color:#a2accb;padding:14px;font-size:12px}.side-help{color:#8995b6;background:linear-gradient(135deg,#272b48,#24273e);border:1px solid #383d5a;border-radius:10px;margin-top:auto;margin-bottom:23px;padding:20px}.side-help>span{color:#a899ef;font-size:31px}.side-help h3{color:#d8deef;font:600 21px/1.4 Arial}.side-help p{color:#929ebc;font-size:11px}.side-help>div{letter-spacing:1.2px;color:#9ad9c0;align-items:center;gap:6px;font-size:8px;display:flex}.side-help>div:before{content:"";background:#6fcbad;border-radius:50%;width:5px;height:5px}.account{color:#d5dbea;border-color:#30364d}.account small{color:#8993ad}.account a{color:#8e9bbe}.avatar{color:#7863c6;background:#ece9fe;font-size:12px;font-weight:600}.main{margin-left:248px}.topbar{color:#8690a4;background:#fff;border-color:#e9ecf4}.page-heading h1{letter-spacing:-1px;color:#252d44;font:600 30px/1.3 Arial}.page-heading .eyebrow{color:#8891a5;letter-spacing:1.8px;font-size:9px}.page-heading p:last-child{color:#8b94a8}.primary{background:#7160d7;border-radius:7px;font-weight:600;box-shadow:0 3px 8px #7160d71a}.hero{background:linear-gradient(105deg,#f0edff,#eaeffc);border:1px solid #e4dff9;border-radius:12px;min-height:280px}.hero h2{letter-spacing:-1px;color:#38344f;font:600 34px/1.16 Arial}.hero h2 em{color:#7760d2;font-style:normal}.hero p{color:#8d86a3;font-size:12px}.hero-button{color:#7760ca;border-color:#c4b8eb;font-weight:600}.art-center{color:#826bdb;filter:none;background:#fffa;border-radius:32px;place-items:center;width:154px;height:154px;font-size:0;display:grid;transform:rotate(-10deg);box-shadow:0 17px 50px #7761cd15}.art-center svg{stroke-width:1.2px;transform:rotate(10deg)}.art-label{color:#9182ba;font-size:12px;font-weight:600}.art-label small{color:#9b90b5;font-size:7px}.stat{border-color:#e7ebf4;border-radius:10px;padding:22px}.stat>div{color:#8a94aa;font-size:11px}.stat strong{color:#343c57;font:600 30px Arial}.stat small{color:#a0a9ba}.panel{border-color:#e5e9f2;box-shadow:0 2px 6px #16204002}.section-title h2{color:#3b4359;font:600 17px Arial}.section-title p{color:#9aa3b6;font-size:11px}.section-title>span{color:#9ba4b8}.day{color:#8a93a7;background:#fcfcfe;border-color:#e9ecf4}.day.selected{background:#fff9f5}.date-range{color:#99a3b8}.search{color:#98a2b7;background:#fafbfe;border-color:#e9edf5}.search input{color:#52607c;font-size:11px}.icon-button{color:#8b94ac;border-color:#e6eaf3}.pass-list .section-title h2{font-size:16px}th{color:#929bb1;background:#f9fafd;font-size:8px;font-weight:600}td{color:#8b94a9;border-color:#eff2f7}td strong{color:#48516b}td small{color:#a5adc1}.badge{color:#60957d;background:#eef6f1}.text-button{color:#8871d5}.panel-foot{color:#a0a8bb}.preview-label{color:#9ba3b7}.preview-note{color:#99a2b6}.preview-note svg{color:#9989cc}.how{color:#929db4;border-color:#e6eaf3}.how b{color:#9384cd}.how>span{color:#909ab0}footer{color:#afb7c7}footer span{color:#a495d8}.family{border-color:#e7ebf4}.family-head h3{color:#505975;font:600 17px Arial}.family-head small{color:#98a2b5}.member{color:#68758c;border-color:#edf0f6}.member span{color:#a0acc2}.settings label,.modal label{color:#75829b}.settings input,.modal input{color:#515e78;background:#fff;border-color:#e2e7f0;outline-color:#a392df}.modal{background:#fbfcff}.modal h2{color:#44506b;font:600 26px Arial}.modal-backdrop{background:#1b1e3e88}.modal .eyebrow{color:#9b8ad0}.empty{color:#aaa0d1}.empty h3{color:#7a7999;font:600 17px Arial}.empty p{color:#a0a8ba}.login-card h1{letter-spacing:2px;color:#fff;font:700 47px Arial}.login-card small{color:#6f7d9d}.directory-tip{color:#9a8cb6;background:#f7f5ff;border:1px solid #e6e3f6;border-radius:7px;gap:10px;margin:0 23px 20px;padding:13px 15px;font-size:11px;line-height:1.7;display:flex}.directory-tip svg{flex-shrink:0;margin-top:2px}.directory-tip strong{color:#8172a0}@media (max-width:1150px){.sidebar{width:205px}.main{margin-left:205px}}@media (max-width:850px){.sidebar{width:100%;margin:0;position:relative}.main{margin:0}.sidebar .nav{padding:9px;font-size:0}.sidebar .side-help{display:none}.brand{font-size:17px}.brand small{font-size:6px}.sidebar .brand-mark{font-size:31px}}@media (max-width:620px){.page-heading h1{font-size:23px}.hero h2{font-size:29px}.hero p{font-size:11px}.directory-tip{margin:0 17px 17px}.section-title h2{font-size:15px}}@media print{.main{margin:0!important}.content{padding:0!important}.ticket-top p{color:#fff7e9}}.logout-button{color:#8e9bbe;background:0 0;margin-left:auto;padding:4px;display:flex}.login-card form{text-align:left;width:300px;max-width:100%;margin:25px auto}.login-card label{color:#a4afcb;margin:15px 0;font-size:12px;display:block}.login-card input{color:#eee;background:#232840;border:1px solid #414a6a;border-radius:7px;outline-color:#aa97ee;width:100%;margin-top:8px;padding:13px;display:block}.login-card form .primary{width:100%;margin:10px 0 20px;padding:14px}.login-error{color:#ffb9b9;padding:10px 0;font-size:12px}.member-summary{background:#f1eefb;border-radius:8px;margin-bottom:20px;padding:16px}.member-summary strong{color:#74649e;font-size:14px}.member-summary p{color:#8f80b8;margin:10px 0;font-size:12px;line-height:1.8}.member-summary small{color:#9e95b5;font-size:10px}.compact-pass{min-height:210px;box-shadow:none;text-align:center;background:#fff;border:1px solid #d8dce7;border-radius:8px;padding:0 16px 16px;position:relative}.compact-header{color:var(--accent);border-bottom:1px solid #e7eaf1;justify-content:space-between;align-items:center;gap:5px;padding:12px 0;display:flex}.compact-header strong{letter-spacing:1px;font-size:10px}.compact-header span{font-size:10px;font-weight:700}.compact-date{letter-spacing:-.4px;color:var(--accent);background:var(--accent);padding:12px 4px;font-size:24px;font-weight:800}@supports (color:color-mix(in lab, red, red)){.compact-date{background:color-mix(in srgb,var(--accent) 7%,white)}}.compact-date{border-radius:5px;margin:12px 0}.compact-family{color:#303849;overflow-wrap:anywhere;font-size:17px;font-weight:700;line-height:1.3}.compact-member{color:#697388;margin-top:11px;font-size:13px;font-weight:600}.sample-pass{letter-spacing:2px;color:#a7aeba;margin-top:12px;font-size:8px;display:block}@media print{.content .print-sheet{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:2mm!important}.print-sheet .compact-pass{break-inside:avoid;border:1px dashed #9ca3af;border-radius:1.5mm;height:32mm;min-height:0;max-height:32mm;padding:0 2.5mm 1.5mm}.print-sheet .compact-header{padding:1.7mm 0 1.2mm}.print-sheet .compact-header strong{font-size:7px}.print-sheet .compact-header span{font-size:8px}.print-sheet .compact-date{margin:1.2mm 0;padding:1.5mm 0;font-size:16px;line-height:1.15}.print-sheet .compact-family{max-height:8mm;font-size:11px;line-height:1.15;overflow:hidden}.print-sheet .compact-member{margin-top:1.5mm;font-size:10px;line-height:1.1}.print-sheet .sample-pass{display:none}@page{size:A4 portrait;margin:10mm}}.compact-details{color:#96a0b2;border-top:1px solid #edf0f5;justify-content:space-between;align-items:center;gap:8px;margin-top:11px;padding-top:11px;font-size:9px;display:flex}.compact-details span{flex-direction:column;gap:5px;display:flex}.compact-details strong{color:#626f85;overflow-wrap:anywhere;font-size:12px}@media print{.print-sheet .compact-pass{min-height:0}.print-sheet .compact-header{padding:1.2mm 0 1mm}.print-sheet .compact-date{margin:1mm 0;padding:1mm 0;font-size:15px}.print-sheet .compact-family{max-height:6mm;font-size:10px}.print-sheet .compact-details{gap:1mm;margin-top:.8mm;padding-top:.8mm;font-size:6px}.print-sheet .compact-details span{line-height:1.25;display:block}.print-sheet .compact-details strong{margin-left:1mm;font-size:8px}.print-sheet .compact-member{margin-top:1mm;font-size:9px}}.family-table{margin-top:20px}.family-table td{padding:18px 23px}.family-table th{padding:13px 23px}.family-link{color:#655794;text-align:left;background:0 0;padding:0;font-size:12px;font-weight:600}.family-link:hover{text-decoration:underline}.row-actions{white-space:nowrap;align-items:center;gap:7px;display:flex}.secondary,.danger-outline{color:#7d729d;background:#fff;border:1px solid #e1e4f0;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:8px 11px;font-size:10px;display:inline-flex}.danger-icon{color:#c17d7d;background:#fff6f6;border:1px solid #f0dede;border-radius:5px;align-items:center;padding:8px;display:inline-flex}.danger-outline{color:#b57474;border-color:#efdcdc}.danger{color:#fff;background:#bc5f65;border-radius:6px;padding:10px 14px;font-size:11px}.back-family{align-items:center;gap:7px;font-size:11px;display:flex}.detail-summary{border-bottom:1px solid #eceef5;align-items:center;gap:18px;padding:20px 28px;display:flex}.detail-avatar{color:#9482c3;background:#efeafa;border-radius:14px;place-items:center;width:65px;height:65px;font-size:28px;font-weight:600;display:grid}.detail-summary h2{color:#4d5470;margin:8px 0;font-size:24px;font-weight:600}.detail-summary p:last-child{color:#969fb4;margin-top:10px;font-size:11px}.detail-count{text-align:center;margin-left:auto;padding-left:20px}.detail-count strong{color:#8b79be;font-size:31px;display:block}.detail-count span{color:#a1a9bd;font-size:10px}.detail-metrics{background:#fcfcfe;grid-template-columns:repeat(3,1fr);gap:14px;padding:23px 28px;display:grid}.detail-metrics>div{background:#fff;border:1px solid #eaedf5;border-radius:8px;padding:16px}.detail-metrics strong{color:#706b9a;font-size:23px;display:block}.detail-metrics span{color:#9ca5b8;margin-top:7px;font-size:10px;display:block}.member-tags{flex-wrap:wrap;gap:8px;padding:0 23px 20px;display:flex}.member-tags span{color:#9785b8;background:#f4f0fc;border-radius:6px;padding:9px 13px;font-size:11px}.delete-summary{color:#b88888;background:#faf0f0;border:1px solid #f1dede;border-radius:6px;margin:20px 0;padding:14px;font-size:12px}.confirm-actions{justify-content:flex-end;gap:10px;display:flex}.edit-note{border-top:1px solid #e5dfef;padding-top:10px;color:#aa8c64!important;font-size:10px!important;line-height:1.6!important}@media (max-width:620px){.detail-summary{flex-wrap:wrap;gap:11px;padding:15px}.detail-summary h2{font-size:20px}.detail-avatar{width:45px;height:45px;font-size:20px}.detail-metrics{gap:8px;padding:15px}.detail-metrics>div{padding:12px 8px}.detail-metrics span{font-size:9px}.family-detail .section-title{flex-wrap:wrap}.family-table td,.family-table th{padding:14px}.confirm-actions{flex-wrap:wrap}}.brand-logo{border-radius:11px;flex-shrink:0;width:38px;height:38px}.login-logo{width:76px;height:76px;margin:0 auto 24px;display:block}.sidebar{background:#122b30;border-color:#1d3c41}.brand{letter-spacing:1.2px;font-size:20px}.brand small{color:#82a6a7;letter-spacing:1.8px}.workspace-label{color:#6e969a}.nav{color:#94b4b6}.nav.active{color:#b1efdd;background:#204940;box-shadow:inset 3px 0 #55c5a4}.nav small{color:#ccf7e7;background:#356356}.side-help{color:#7fa29f;background:linear-gradient(140deg,#204341,#19393c);border-color:#315550}.side-help>span{color:#83c4a5}.side-help h3{color:#d1ebe5}.side-help p{color:#8fb4af}.account{border-color:#284448}.account small,.account a,.logout-button{color:#87a7aa}.account .avatar{color:#a2d3be;background:#2b4c4d}.primary{background:#27886d;box-shadow:0 3px 8px #29886c16}.primary:hover{background:#1e7059}.secure{background:#edf7f0;color:#37866d!important}.hero{background:linear-gradient(108deg,#e8f3ec,#eff5ed);border-color:#dceadf}.hero h2{color:#294d41}.hero h2 em{color:#4e9b76}.hero p{color:#84a08e}.hero-tag{color:#80a08a}.hero-tag span{background:#86ad8b}.hero-button{color:#448565;border-color:#b3d2bc}.art-center{color:#4c9676;box-shadow:0 17px 50px #286e4310}.art-mini{color:#b0c9a3}.festival-art .orbit{border-color:#b6d0af88}.art-label{color:#85a278}.art-label small{color:#a2b69a}.stat>div svg{color:#5b9b79}.stat strong{color:#33584b}.notice{color:#507d66;background:#edf5ef;border-color:#d7e7da}.heading-actions{align-items:center;gap:10px;display:flex}.heading-actions .secondary{color:#738e7b;border-color:#d9e7dd;padding:11px;font-size:10px}.family-link{color:#497b66}.secondary{color:#6c897a;border-color:#dce8df}.secondary:hover{background:#f1f8f3}.detail-avatar,.member-tags span{color:#78a08b;background:#edf5ef}.detail-count strong,.detail-metrics strong{color:#5e9478}.member-summary{background:#eef5ef}.member-summary strong{color:#668672}.member-summary p{color:#7a9882}.member-summary small{color:#97ab9b}.login{background:radial-gradient(circle at 75% 20%,#305c4c,#0000 55%),#122b30}.login-card input{background:#1b363a;border-color:#38565a;outline-color:#65b594}.login-card label{color:#a8c5bf}.login-card p{color:#94b4af}.login-card .eyebrow{color:#8ec4aa}.compact-header strong{align-items:center;gap:5px;font-size:10px;display:flex}.compact-header img{border-radius:5px;width:19px;height:19px}.compact-header>span{align-items:center;gap:5px;display:flex}.compact-header b{letter-spacing:-.4px;font-size:18px}.compact-details{background:#f9fbfc;border:1px solid #e3e8ed;border-radius:7px;align-items:flex-start;padding:12px}.compact-details span{letter-spacing:.8px;text-align:center;flex:1;font-size:8px;font-weight:600}.compact-details strong{color:#3e4c5f;letter-spacing:0;font-size:18px}.compact-member{color:var(--accent);background:var(--accent);border-radius:5px;margin-top:14px;padding:6px 16px;display:inline-block}@supports (color:color-mix(in lab, red, red)){.compact-member{background:color-mix(in srgb,var(--accent) 8%,white)}}.compact-member{font-size:15px;font-weight:800}.compact-pass{min-height:285px}.public-app{color:#365448;background:radial-gradient(at 12% 0,#e5f0e4,#0000 55%),#f7faf7;min-height:100vh;font-family:Arial,Helvetica,sans-serif}.public-header{justify-content:space-between;align-items:center;gap:20px;max-width:1170px;margin:auto;padding:27px 30px;display:flex}.public-brand{align-items:center;gap:12px;display:flex}.public-brand img{width:45px;height:45px}.public-brand>span{letter-spacing:1.5px;color:#274f40;font-size:22px;font-weight:800}.public-brand small{letter-spacing:1.6px;color:#96ab9b;margin-top:5px;font-size:7px;font-weight:500;display:block}.language{background:#eaf0e9;border:1px solid #dfe8dd;border-radius:8px;padding:3px;display:flex}.language button{color:#8ba18d;background:0 0;border-radius:6px;padding:9px 13px;font-size:11px}.language .selected{color:#44765c;background:#fff;box-shadow:0 2px 5px #26482708}.public-layout{grid-template-columns:minmax(0,1fr) 465px;gap:75px;max-width:1130px;margin:35px auto 0;padding:0 30px;display:grid}.registration-intro{padding-top:35px}.public-pill{color:#82a183;letter-spacing:1.1px;background:#edf3e6;border-radius:22px;padding:9px 13px;font-size:9px;display:inline-block}.registration-intro h1{letter-spacing:-1.5px;color:#325842;margin:25px 0 19px;font-size:46px;font-weight:700;line-height:1.3}.registration-intro h1 em{color:#72966d;font-style:normal}.registration-intro>p{color:#8da68c;max-width:380px;font-size:14px;line-height:1.9}.intro-steps{margin-top:35px}.intro-step{align-items:center;gap:14px;margin:24px 0;display:flex}.intro-step>span{color:#83a174;background:#f6faf1;border:1px solid #dce8d6;border-radius:12px;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.intro-step h3{color:#6b8868;font-size:13px;font-weight:600}.intro-step p{color:#a5b69d;margin-top:5px;font-size:11px;line-height:1.7}.public-festival{color:#95ad84;border-top:1px solid #dce7d8;align-items:center;gap:14px;margin:32px 0;padding-top:25px;font-size:55px;display:flex}.public-festival>span{color:#809b76;font-size:12px}.public-festival small{color:#a8b99c;margin-top:8px;font-size:10px;display:block}.registration-card{background:#fff;border:1px solid #e1e9df;border-radius:18px;align-self:start;padding:32px;box-shadow:0 16px 50px #344b2710}.registration-card-heading{border-bottom:1px solid #ecf0e9;align-items:center;gap:14px;margin-bottom:22px;padding-bottom:23px;display:flex}.form-step{color:#89a67a;background:#edf5e8;border-radius:11px;place-items:center;width:42px;height:42px;font-size:17px;display:grid}.registration-card-heading h2{color:#4b6b50;margin-top:7px;font-size:20px;font-weight:600;line-height:1.5}.registration-card .eyebrow{color:#b1bcaa;letter-spacing:1.7px;font-size:8px}.registration-card label{color:#6a846b;margin:0 0 21px;font-size:12px;font-weight:600;display:block}.registration-card label small{color:#b1bfaa;margin:5px 0 8px;font-size:8px;font-weight:400;display:block}.registration-card input{color:#567050;background:#fbfdf9;border:1px solid #dfe8da;border-radius:7px;outline-color:#93b78a;width:100%;margin-top:8px;padding:13px 12px;font-size:13px;font-weight:400;display:block}.registration-card input::placeholder{color:#bac6b4}.public-two{grid-template-columns:1fr 1fr;gap:15px;display:grid}.input-hint{color:#b0bda6;margin-top:8px;font-size:9px;font-weight:400;line-height:1.8}.public-primary{color:#fff;background:#408866;border-radius:8px;justify-content:center;align-items:center;gap:10px;width:100%;padding:14px 20px;font-size:12px;font-weight:600;display:flex}.public-primary:hover{background:#337354}.public-footnote{color:#a5b39b;text-align:center;margin:17px 0;font-size:9px;line-height:1.9}.public-footnote svg{vertical-align:middle;margin-right:5px;display:inline}.already-family{text-align:center;color:#a4b29b;border-top:1px solid #edf1e9;padding-top:20px;font-size:10px}.already-family button,.public-link{color:#689175;background:0 0;font-size:10px;text-decoration:underline}.public-link{justify-content:center;align-items:center;gap:7px;margin:15px auto 0;display:flex}.public-footer{color:#b1bdaa;border-top:1px solid #e0e8da;justify-content:center;align-items:center;gap:14px;max-width:1100px;margin:35px auto;padding:20px 30px;font-size:9px;display:flex}.public-footer span{color:#97ac87}.public-success,.public-error{color:#789870;background:#f0f7eb;border-radius:7px;align-items:center;gap:8px;margin-bottom:20px;padding:12px;font-size:11px;line-height:1.8;display:flex}.public-error{color:#b79569;background:#fff7ed;display:block}.public-error button{color:#ad8753;background:0 0;margin-top:8px;padding:0;font-size:10px;text-decoration:underline;display:block}.saved-family{background:#fbfdf8;border:1px solid #e3ebdd;border-radius:9px;margin-bottom:21px;padding:23px 18px}.saved-family h3{color:#5b7b54;overflow-wrap:anywhere;font-size:23px;font-weight:600}.saved-family>div{color:#a6b89c;gap:30px;margin:24px 0;font-size:9px;display:flex}.saved-family strong{color:#769069;margin-top:8px;font-size:22px;display:block}.saved-family>p{color:#a3b698;border-top:1px dashed #dde7d5;padding-top:13px;font-size:10px;line-height:1.8}.edit-code{background:#fbfbef;border:1px solid #e8e4cb;border-radius:8px;margin-bottom:20px;padding:15px}.edit-code>strong{color:#a19b64;font-size:11px}.edit-code p{color:#b3ae86;margin:8px 0;font-size:9px;line-height:1.8}.edit-code>div{background:#fff;border:1px solid #efedda;border-radius:5px;align-items:center;gap:8px;padding:10px;display:flex}.edit-code code{overflow-wrap:anywhere;color:#98946a;flex:1;font-size:10px}.edit-code button{color:#a6a171;background:0 0;flex-shrink:0;display:flex}@media (max-width:900px){.public-layout{grid-template-columns:minmax(0,1fr) 430px;gap:30px}.registration-intro h1{font-size:36px}.registration-intro>p{font-size:12px}.intro-step p{font-size:10px}.registration-card{padding:27px}.brand-logo{width:33px;height:33px}}@media (max-width:720px){.public-header{gap:10px;padding:20px}.public-brand>span{font-size:17px}.public-brand small{letter-spacing:1px;font-size:5px}.public-brand img{width:35px;height:35px}.language button{padding:8px;font-size:10px}.public-layout{flex-direction:column;gap:23px;max-width:540px;margin:10px auto 0;padding:0 20px;display:flex}.registration-intro{padding-top:15px}.registration-intro h1{margin:18px 0 12px;font-size:34px}.registration-intro>p{font-size:12px}.intro-steps,.public-festival{display:none}.registration-card{order:1;width:100%;padding:24px}.registration-card-heading h2{font-size:19px}.public-two{gap:12px}.public-footer{margin:20px auto}.heading-actions{flex-direction:column;align-items:flex-end;gap:7px}.heading-actions .secondary{padding:7px;font-size:8px}}@media print{.print-sheet .compact-pass{min-height:0}.print-sheet .compact-header strong{gap:1mm;font-size:6.5px}.print-sheet .compact-header img{border-radius:.6mm;width:3mm;height:3mm}.print-sheet .compact-header b{font-size:11px}.print-sheet .compact-header>span{gap:1mm;font-size:8px}.print-sheet .compact-details{background:#f8fafb;border:1px solid #e0e5e9;border-radius:1mm;gap:1mm;margin-top:.7mm;padding:.7mm 1mm}.print-sheet .compact-details span{letter-spacing:.3px;flex-direction:column;gap:.5mm;font-size:5px;display:flex}.print-sheet .compact-details strong{margin:0;font-size:9px}.print-sheet .compact-member{margin-top:.7mm;padding:.5mm 2mm;font-size:9px}.print-sheet .compact-date{font-size:14px}.print-sheet .compact-family{max-height:5mm;font-size:9px}}.generation-ready{text-align:center;padding:24px 22px 30px}.ready-icon{color:#78a487;background:#edf6ee;border:1px solid #dfece0;border-radius:17px;place-items:center;width:66px;height:66px;margin:0 auto 20px;display:grid}.generation-ready h3{color:#5f7b69;font-size:20px;font-weight:600}.generation-ready>p{color:#9daf9f;max-width:340px;margin:12px auto 22px;font-size:11px;line-height:1.8}.generation-counts{color:#9daf9e;border-top:1px solid #edf2ed;border-bottom:1px solid #edf2ed;justify-content:center;gap:30px;margin:0 0 23px;padding:20px 0;font-size:9px;display:flex}.generation-counts strong{color:#638670;margin-bottom:8px;font-size:26px;font-weight:600;display:block}.generation-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.generation-actions .secondary{padding:12px;font-size:11px}.generation-ready>small{color:#adbbaa;margin-top:20px;font-size:8px;display:block}@media screen{:root{--ui:#3157d5;--ui-hover:#2444b2;--ui-soft:#edf2ff;--ui-ink:#253f91;--side:#172441;--canvas:#f5f7fb;--ink:#202b42;--muted:#59677f;color:var(--ink);background:var(--canvas);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans Gujarati,sans-serif}:root[data-theme=saffron]{--ui:#b34b18;--ui-hover:#90380f;--ui-soft:#fff1e5;--ui-ink:#823b1c;--side:#30251f;--canvas:#fbf8f3}:root[data-theme=slate]{--ui:#42566c;--ui-hover:#2c3e52;--ui-soft:#edf1f5;--ui-ink:#35475c;--side:#202b37;--canvas:#f5f6f8}body,.public-app{font-family:inherit}h1,h2,h3,.brand,.stat strong,.modal h2,.family-head h3,.empty h3,.login-card h1{letter-spacing:-.035em;font-family:inherit!important;font-weight:700!important}.app{background:var(--canvas)}.sidebar{background:var(--side);border-color:#ffffff12}.brand{color:#fff;letter-spacing:.035em}.brand small{color:#bdc9e0;font-family:inherit}.workspace-label{color:#9dacc8}.nav{color:#c6d1e5;min-height:48px;font-size:14px}.nav.active{color:#fff;background:var(--ui);box-shadow:none}.nav small{color:#fff;background:#fff2}.side-help{background:#ffffff08;border-color:#ffffff20}.side-help h3{color:#eef3ff;font-style:normal}.side-help p,.side-help>span{color:#bac9df}.account{color:#fff;border-color:#ffffff24}.account small,.logout-button{color:#becce0}.avatar{color:#fff!important;background:#ffffff15!important}.main{min-width:0}.topbar{color:var(--muted);border-color:#e0e5ee}.secure{background:var(--ui-soft);color:var(--ui-ink)!important}.content{max-width:1440px;padding:32px}.page-heading h1{color:var(--ink);font-size:32px;line-height:1.2}.page-heading p:last-child{color:var(--muted);font-size:14px;line-height:1.7}.eyebrow{color:var(--ui-ink);font-size:10px}.heading-actions{flex-wrap:wrap;justify-content:flex-end}.primary,.public-primary{background:var(--ui);min-height:44px;box-shadow:none;border-radius:9px;font-size:14px;font-weight:600}.primary:hover,.public-primary:hover{background:var(--ui-hover)}.secondary,.heading-actions .secondary,.danger-outline{min-height:44px;color:var(--ui-ink);border-color:#d6dfeb;border-radius:9px;padding:10px 13px;font-size:12px}.secondary:hover{background:var(--ui-soft)}.theme-picker{color:var(--muted);flex-direction:column;gap:4px;font-size:10px;font-weight:600;display:flex}.theme-picker select{font:inherit;color:var(--ink);background:#fff;border:1px solid #d6dfeb;border-radius:8px;max-width:100%;min-height:38px;padding:9px;font-size:12px}.hero{background:linear-gradient(120deg,var(--ui-soft),white);border-color:#dce3ed;border-radius:16px}.hero h2{color:var(--ink);font-size:38px;line-height:1.15}.hero h2 em{color:var(--ui);font-style:normal;font-weight:700}.hero p{color:var(--muted);font-size:14px}.hero-tag,.hero-button,.art-label{color:var(--ui-ink)}.art-center,.stat>div svg{color:var(--ui)}.art-label small{color:var(--muted)}.hero-button{border-color:var(--ui);min-height:44px;font-size:14px}.stat{border-color:#e0e5ee;border-radius:13px;padding:22px}.stat>div{color:var(--muted);gap:8px;font-size:12px}.stat strong{color:var(--ink);font-size:34px}.stat small{color:var(--muted);font-size:12px;line-height:1.5}.panel{border-color:#dfe5ee;border-radius:14px}.section-title h2,.pass-list .section-title h2{color:var(--ink);font-size:20px;line-height:1.4}.section-title p,.section-title>span{color:var(--muted);font-size:12px;line-height:1.6}.days{grid-template-columns:repeat(9,minmax(0,1fr))}.day{color:#475569;background:#f8faff;min-height:98px}.day strong{font-size:13px}.day small{font-size:11px}.day.selected{background:var(--day-color)}@supports (color:color-mix(in lab, red, red)){.day.selected{background:color-mix(in srgb,var(--day-color) 10%,white)}}.pass-layout{grid-template-columns:minmax(0,1fr) 310px}.preview-label{color:var(--muted);font-size:11px}.preview-note{color:var(--muted);font-size:12px}.generation-ready h3{color:var(--ink);font-size:23px}.generation-ready>p{color:var(--muted);font-size:14px}.ready-icon{background:var(--ui-soft);color:var(--ui);border-color:#dce3ef}.generation-counts{color:var(--muted);font-size:12px}.generation-counts strong{color:var(--ui-ink)}.generation-ready>small,.panel-foot{color:var(--muted);font-size:11px}.generation-actions .secondary{font-size:13px}.search{color:var(--muted);background:#f8faff;padding:12px}.search input{color:var(--ink);font-size:14px}th{color:var(--muted);background:#f5f7fb;font-size:11px}td{color:#44536c;font-size:14px}td strong,.family-link{color:var(--ui-ink);font-size:14px}.badge{color:var(--ui-ink);background:var(--ui-soft);font-size:11px}.row-actions{gap:8px}.icon-button,.danger-icon{justify-content:center;min-width:44px;min-height:44px}.directory-tip{background:var(--ui-soft);color:var(--ui-ink);border-color:#dce3ef;font-size:13px}.directory-tip strong{color:var(--ui-ink)}.detail-summary h2{color:var(--ink)}.detail-summary p:last-child,.detail-count span,.detail-metrics span{color:var(--muted);font-size:13px}.detail-avatar,.member-tags span,.member-summary{background:var(--ui-soft);color:var(--ui-ink)}.detail-count strong,.detail-metrics strong,.member-summary strong{color:var(--ui-ink)}.member-summary p,.member-summary small{color:var(--muted);font-size:12px}.member-tags span{font-size:13px}.settings label,.modal label{color:var(--ink);font-size:14px}.settings input,.modal input,.registration-card input{min-height:48px;color:var(--ink);outline-color:var(--ui);background:#fff;border-color:#cbd5e1;border-radius:9px;font-size:16px}.settings>p,.modal>p:not(.eyebrow),.empty p{color:var(--muted);font-size:14px}.modal{background:#fff;width:min(510px,100%);padding:28px}.modal h2{color:var(--ink)}.notice{background:var(--ui-soft);color:var(--ui-ink);border-color:#dae2ef}.how{color:var(--muted);font-size:12px}.how b,.how>span{color:var(--ui-ink)}footer{color:var(--muted);font-size:11px}footer span{color:var(--ui-ink)}.login{background:radial-gradient(circle at 80% 10%,#344a75,#0000 60%),#172441}.login-card{width:100%;padding:32px}.login-card h1{font-size:40px}.login-card p{color:#c2d0e7;font-size:15px}.login-card label{color:#dae4f5;font-size:14px}.login-card input{color:#fff;background:#223553;border-color:#5a6d8c;min-height:48px;font-size:16px}.login-card small{color:#bdcce4;font-size:12px}.public-app{background:linear-gradient(135deg,var(--ui-soft),#f8fafc);color:var(--ink)}.public-brand>span,.registration-intro h1,.registration-card-heading h2,.saved-family h3{color:var(--ink)}.registration-intro h1 em{color:var(--ui)}.registration-intro>p,.intro-step p,.public-festival small,.public-footnote,.public-footer,.input-hint{color:var(--muted);font-size:13px}.intro-step h3,.registration-card label{color:var(--ink);font-size:14px}.registration-card label small{color:var(--muted);font-size:11px}.registration-card input::placeholder{color:#718096}.language button{color:#475569;min-height:42px;font-size:13px}.language .selected{color:var(--ui-ink)}.form-step,.intro-step>span,.public-pill{background:var(--ui-soft);color:var(--ui-ink)}.public-brand small,.registration-card .eyebrow{color:var(--muted);font-size:9px}.public-success{color:#25613b;background:#edf9f0;font-size:14px}.public-error{color:#9a3412;background:#fff3e8;font-size:14px}.saved-family strong{color:var(--ui-ink)}.saved-family>p,.saved-family>div{color:var(--muted);font-size:12px}.compact-header b{font-size:23px}.compact-family{font-size:19px}.compact-details span{font-size:10px}.compact-member{font-size:17px}@media (max-width:1150px){.heading-actions{max-width:320px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.days{grid-template-columns:repeat(5,minmax(0,1fr))}.pass-layout{grid-template-columns:minmax(0,1fr) 280px}}@media (max-width:850px){.app{display:block}.sidebar{z-index:20;border-bottom:1px solid #ffffff20;flex-wrap:wrap;gap:12px;width:100%;padding:12px 16px;display:flex;position:sticky;top:0}.sidebar .brand{font-size:19px}.sidebar .brand small{font-size:8px}.sidebar .brand-logo{width:34px;height:34px}.sidebar nav{order:3;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;width:100%;margin:0;display:grid}.sidebar .nav{white-space:nowrap;flex-direction:column;justify-content:center;gap:5px;min-height:45px;margin:0;padding:8px 4px;font-size:11px}.nav svg{width:18px;height:18px}.sidebar .account{border:0;margin-left:auto;padding:0;display:flex}.account .avatar,.account>div:not(.avatar){display:none}.logout-button{justify-content:center;min-width:44px;min-height:44px}.sidebar .workspace-label,.sidebar .side-help,.nav small{display:none}.main{margin:0}.topbar{height:52px;padding:0 20px}.content{padding:24px 20px}.page-heading{flex-direction:column;align-items:flex-start;gap:16px}.heading-actions{flex-direction:row;justify-content:flex-start;align-items:center;gap:10px;width:100%;max-width:none}.page-heading h1{font-size:29px}.pass-layout{grid-template-columns:1fr}.preview-column{justify-self:center;width:100%;max-width:400px}.hero h2{font-size:34px}.festival-art{min-width:220px}.public-layout{grid-template-columns:1fr;gap:24px;max-width:640px}.registration-intro{padding-top:0}.intro-steps,.public-festival{display:none}.registration-card{width:100%}}@media (max-width:600px){.content{padding:20px 14px}.topbar{padding:0 14px;font-size:11px}.secure{padding:6px 8px;font-size:9px}.page-heading h1{font-size:26px}.page-heading p:last-child{font-size:13px}.heading-actions .secondary{padding:10px;font-size:12px}.theme-picker{flex-direction:row;align-items:center;gap:12px;width:100%}.theme-picker select,.heading-actions>a,.heading-actions>button{flex:1}.hero-text{padding:24px}.hero h2{font-size:33px}.festival-art{display:none}.stats{gap:10px}.stat{padding:16px}.stat>div{align-items:flex-start;font-size:11px}.stat strong{font-size:30px}.stat small{font-size:11px}.section-title{flex-wrap:wrap;gap:12px;padding:18px 16px}.section-title h2,.pass-list .section-title h2{font-size:18px}.section-title .primary{width:100%}.days{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 16px 18px}.day{min-height:95px}.day small{font-size:12px}.generation-ready{padding:22px 16px}.generation-actions{flex-direction:column;align-items:stretch}.generation-actions button{width:100%}.generation-counts{gap:22px}.panel-foot{flex-wrap:wrap}.how{justify-content:flex-start;gap:15px;line-height:1.6}.how>span{width:100%;font-size:10px}.how>svg{display:none}.directory-tip{margin:0 16px 16px}.panel>.search{margin:0 16px}.family-table{padding:0 14px 14px;overflow:visible}.family-table table,.family-table tbody{display:block}.family-table thead{display:none}.family-table tr{background:#fff;border:1px solid #dce3ed;border-radius:12px;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px;padding:14px;display:grid}.family-table td{border:0;min-width:0;font-size:14px;display:block;padding:0!important}.family-table td:before{content:attr(data-label);color:var(--muted);margin-bottom:6px;font-size:11px;font-weight:600;display:block}.family-table td:first-child,.family-table td:last-child{grid-column:1/-1}.family-link{overflow-wrap:anywhere;font-size:17px;line-height:1.5}.family-table .row-actions{width:100%}.family-table .row-actions .secondary{flex:1}.detail-summary{padding:18px 16px}.detail-count{padding-left:0}.detail-metrics{gap:8px;padding:16px}.detail-metrics>div{padding:12px 8px}.detail-metrics span{font-size:11px;line-height:1.5}.detail-metrics strong{font-size:22px}.modal-backdrop{align-items:center;padding:12px}.modal{max-height:calc(100dvh - 24px);padding:24px 20px}.modal h2{font-size:25px}.member-inputs{grid-template-columns:1fr}.confirm-actions button{flex:1;min-height:44px}.public-header{flex-wrap:wrap;padding:18px 16px}.public-brand>span{font-size:19px}.public-brand small{font-size:7px}.public-layout{gap:20px;margin-top:8px;padding:0 16px}.registration-intro h1{letter-spacing:-.03em;font-size:32px}.registration-intro>p{font-size:14px}.registration-card{border-radius:14px;padding:24px 20px}.public-two{grid-template-columns:1fr;gap:0}.registration-card-heading h2{font-size:21px}.public-primary{min-height:48px;font-size:15px}.public-footnote{font-size:12px}.public-footer{padding:18px 16px;font-size:11px}.login{padding:16px}.login-card{padding:24px 8px}.login-card h1{font-size:36px}.login-card form{width:100%}.login-card form .primary{margin-left:0;margin-right:0}footer{flex-wrap:wrap;line-height:1.6}}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid var(--ui);outline-offset:3px}}.pw-wrap{display:block;position:relative}.pw-wrap input{padding-right:46px}.login-card .pw-eye{color:#a4afcb;background:0 0;border-radius:6px;align-items:center;margin-top:4px;padding:8px;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.login-card .pw-eye:hover{color:#fff}.expense-form form{padding:25px}.expense-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:0 18px;display:grid}.expense-form select{width:100%;min-height:48px;color:var(--ink,#253047);background:#fff;border:1px solid #e2e7f0;border-radius:9px;margin-top:7px;padding:11px 12px;font-size:16px;display:block}.expense-msg{padding:10px 0;font-size:13px}.expense-msg.ok{color:#2f8f5b}.expense-msg.err{color:#c0392b}.expense-tools{flex-wrap:wrap;align-items:center;gap:12px;padding:0 23px 4px;display:flex}.expense-tools .search{margin:0}.expense-empty{padding:23px}.registration-card .public-select{width:100%;min-height:48px;color:var(--ink);outline-color:var(--ui);background:#fff;border:1px solid #cbd5e1;border-radius:9px;margin-top:7px;padding:0 12px;font-size:16px;display:block}.expense-stats{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.expense-note{color:#6b7280;padding:0 23px 12px;font-size:13px;line-height:1.6}.expense-filter{background:#fff;border:1px solid #e2e7f0;border-radius:9px;min-height:42px;padding:10px 12px;font-size:14px}.event-body{padding:20px 25px}.event-chips{color:#6b7280;flex-wrap:wrap;gap:10px;margin-bottom:18px;font-size:13px;display:flex}.event-chip{background:#fff;border:1px solid #d6dfeb;border-radius:999px;align-items:center;display:inline-flex;overflow:hidden}.event-chip.active{border-color:var(--accent,#4c63d2);box-shadow:0 0 0 2px var(--accent,#4c63d2)}@supports (color:color-mix(in lab, red, red)){.event-chip.active{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent,#4c63d2) 25%,transparent)}}.event-chip button{color:#253047;background:0 0;padding:9px 14px;font-size:13px}.event-chip small{color:#8a94a8;margin-left:8px;font-size:11px}.event-chip .chip-x{color:#9aa3b5;padding:9px 12px 9px 6px;font-size:16px}.event-chip .chip-x:hover{color:#c0392b}.event-add{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end;gap:0 18px;display:grid}.event-add button{justify-content:center;margin-bottom:17px}.expense-tabbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 0 20px;display:flex}.expense-tabs{background:#eef1f7;border-radius:11px;gap:4px;padding:4px;display:inline-flex}.expense-tabs button{color:#5b6786;background:0 0;border-radius:8px;min-height:40px;padding:10px 18px;font-size:14px;font-weight:600}.expense-tabs button.active{color:#253047;background:#fff;box-shadow:0 1px 3px #1b1e3e22}.expense-tabs small{background:#dfe5f2;border-radius:999px;margin-left:6px;padding:1px 7px;font-size:11px}.row-selected{background:#f3f6ff}.modal select{width:100%;min-height:48px;color:var(--ink,#253047);background:#fff;border:1px solid #cbd5e1;border-radius:9px;margin-top:7px;padding:0 12px;font-size:16px;display:block}.modal-wide{width:620px;max-width:100%}.modal-wide .expense-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.modal .expense-msg{padding:0 0 12px}.expense-tabbar .primary{align-items:center;gap:6px;display:inline-flex}.report-sheet{display:none}@media print{.content>.report-sheet{color:#111;font-family:Arial,Helvetica,sans-serif;font-size:12px;display:block!important}.report-sheet header{border-bottom:2px solid #1f2a5a;align-items:center;gap:12px;margin-bottom:14px;padding-bottom:10px;display:flex}.report-sheet header img{width:44px;height:44px}.report-sheet h1{margin:0;font-size:22px}.report-sheet header p{color:#555;margin:3px 0 0}.report-sheet h2{margin:18px 0 6px;font-size:14px}.report-summary{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.report-summary span{color:#555;text-transform:uppercase;border:1px solid #cfd6e6;border-radius:6px;padding:8px;font-size:10px}.report-summary strong{color:#111;text-transform:none;margin-top:4px;font-size:15px;display:block}.report-sheet table{border-collapse:collapse;width:100%}.report-sheet th,.report-sheet td{text-align:left;border-bottom:1px solid #dde2ee;padding:6px 8px}.report-sheet th{text-transform:uppercase;background:#eef1f7;font-size:10px}.report-sheet .num{text-align:right}.report-sheet tr.total td{border-top:2px solid #1f2a5a;border-bottom:0;font-weight:700}.report-sheet tr{break-inside:avoid}.report-sheet footer{color:#777;text-align:center;margin-top:20px;font-size:10px}.report-sheet,.report-sheet *{-webkit-print-color-adjust:exact;print-color-adjust:exact}}@media (max-width:600px){.modal-wide .expense-grid{grid-template-columns:1fr}.expense-tabbar{align-items:stretch}.expense-tabs{width:100%}.expense-tabs button{flex:1}.expense-tabbar .primary{justify-content:center;width:100%}}
