:root{font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic UI,Yu Gothic,sans-serif;color:#403a41;background:#f1ebec;font-synthesis:none;--bg: #fbf8f7;--surface: #fffdfc;--ink: #403a41;--muted: #8d858d;--line: #eee6e7;--purple: #7d6886;--purple-soft: #f1ebf3;--rose: #a96f79;--rose-soft: #f8e9eb;--green: #6e887f;--green-soft: #eaf2ef;--amber: #9a7954;--amber-soft: #f7efe3;--blue: #73879f;--blue-soft: #eaf0f5;--shadow: 0 10px 28px rgba(91, 72, 86, .06)}*{box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;overscroll-behavior:none}html{background:#f1ebec;touch-action:pan-y}body{margin:0;min-width:320px;background:#f1ebec}#app{width:100%;height:100%;overflow-y:auto;overscroll-behavior:none;touch-action:pan-y;-webkit-overflow-scrolling:touch}html:has(.sheet-backdrop),body:has(.sheet-backdrop),#app:has(.sheet-backdrop){overflow:hidden}#app:has(.sheet-backdrop) .app-main{overflow:hidden}button,input,select,textarea{color:inherit;font:inherit}select option{color:var(--ink)}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}.app-shell{position:relative;width:100%;max-width:480px;height:100dvh;margin:0 auto;overflow:hidden;background:var(--bg);box-shadow:0 0 50px #59475512}.app-main{height:100%;padding-bottom:calc(88px + env(safe-area-inset-bottom));overflow-x:hidden;overflow-y:auto;overscroll-behavior:none;touch-action:pan-y;-webkit-overflow-scrolling:touch}.page{padding:0 20px 36px}.home-header,.page-header{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:env(safe-area-inset-top)}.brand{margin:0;font-size:24px;line-height:1;font-weight:700;letter-spacing:-.5px;color:var(--purple)}.brand span{color:var(--rose)}.icon-button{width:40px;height:40px;border:0;border-radius:50%;display:grid;place-items:center;background:var(--surface);box-shadow:0 3px 14px #5b48560f;cursor:pointer;flex:0 0 auto}.page-heading{flex:1}.page-heading h1,.page-header h1{margin:2px 0 0;font-size:22px;letter-spacing:-.03em}.header-add-button{min-height:36px;padding:0 10px;display:inline-flex;align-items:center;gap:4px;border:0;border-radius:12px;color:var(--purple);background:var(--purple-soft);font-size:10px;font-weight:600;cursor:pointer}.renewal-focus{overflow:hidden;border:1px solid #ead3d8;border-radius:22px;background:linear-gradient(145deg,#faecee,#f5e2e6);box-shadow:0 14px 30px #9c65701a}.renewal-heading{padding:17px;display:flex;align-items:center;gap:11px}.renewal-heading>span{width:42px;height:42px;display:grid;place-items:center;flex:none;border-radius:14px;color:var(--rose);background:#ffffffa6}.renewal-heading>div{flex:1;min-width:0}.renewal-heading strong{display:block;font-size:15px}.renewal-heading b{min-width:34px;padding:5px 8px;border-radius:99px;color:#fff;background:var(--rose);text-align:center;font-size:10px}.renewal-row{min-height:65px;padding:12px 15px 12px 17px;display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:9px;border-top:1px solid rgba(180,125,136,.14);background:#ffffff70}.renewal-row div{min-width:0}.renewal-row strong{display:block;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.renewal-row p{margin:3px 0 0;color:var(--muted);font-size:9px}.renewal-row>span{color:#80666c;font-size:9px;white-space:nowrap}.renewal-row>svg{color:var(--rose)}.section-block{padding-top:34px}.home-section{padding-top:28px}.section-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:14px}.section-title h2{margin:4px 0 0;font-size:19px}.section-title-heading{min-width:0;display:flex;align-items:baseline;gap:8px}.section-title>a{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:11px}.next-performance-card{min-height:142px;padding:17px;display:grid;grid-template-columns:minmax(0,1fr) 19px;align-items:center;gap:14px;border:1px solid var(--line);border-radius:21px;background:var(--surface);box-shadow:var(--shadow)}.next-performance-card.is-compact{min-height:117px}.next-performance-copy{min-width:0}.next-performance-copy>strong{display:block;overflow:hidden;font-size:13px;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.next-performance-copy>p{margin:3px 0 10px;color:var(--muted);font-size:10px}.next-performance-copy>span{margin-top:5px;display:flex;align-items:center;gap:5px;color:#706970;font-size:10px}.next-performance-card>svg{color:#b9afb7}.todo-list{overflow:hidden;border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.todo-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 15px;border-bottom:1px solid var(--line)}.todo-row:last-child{border:0}.todo-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:13px}.todo-icon.purple{color:var(--purple);background:var(--purple-soft)}.todo-icon.amber{color:var(--amber);background:var(--amber-soft)}.todo-icon.rose{color:var(--rose);background:var(--rose-soft)}.todo-row div{min-width:0}.todo-row strong{display:block;font-size:12px}.todo-row p{margin:4px 0 0;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.todo-row time{color:var(--muted);font-size:10px}.bottom-nav{position:fixed;z-index:40;left:50%;bottom:0;transform:translate(-50%);width:min(100%,480px);height:calc(70px + env(safe-area-inset-bottom));padding:8px 15px env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(5,1fr);background:#fffdfcf0;border-top:1px solid rgba(231,220,224,.86);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#aaa1a9;font-size:9px;transition:color .2s}.bottom-nav a.active{color:var(--purple);font-weight:600}.fab{position:fixed;z-index:45;left:calc(50% + min(240px,50vw) - 66px);bottom:calc(82px + env(safe-area-inset-bottom));width:50px;height:50px;display:grid;place-items:center;color:#fff;border:0;border-radius:17px;background:var(--purple);box-shadow:0 10px 24px #69526f38;cursor:pointer}.sheet-backdrop{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:flex;align-items:end;justify-content:center;overscroll-behavior:none;background:#362c3457}.bottom-sheet{width:min(100%,480px);max-height:86dvh;padding:10px 20px calc(25px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;transform:none;border-radius:28px 28px 0 0;background:var(--bg);animation:sheet-up .18s ease-out;-webkit-overflow-scrolling:touch}@keyframes sheet-up{0%{opacity:0}}.sheet-handle{width:38px;height:4px;margin:0 auto 16px;border-radius:10px;background:#ddd3d8}.sheet-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.sheet-title-row h2{margin:4px 0 0;font-size:20px}.add-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}.add-grid button{padding:16px 4px 14px;border:1px solid var(--line);border-radius:18px;background:var(--surface);font-size:11px;cursor:pointer}.add-icon{width:42px;height:42px;margin:0 auto 9px;display:grid;place-items:center;border-radius:14px;color:var(--purple);background:var(--purple-soft)}.form-stack{width:100%;min-width:0;display:grid;gap:18px;margin-top:24px}.form-stack label,.form-field{min-width:0}.form-stack label>span,.form-field>span{display:block;margin:0 0 8px 3px;font-size:12px;font-weight:600}.form-stack label b,.form-field b{margin-left:5px;color:var(--rose);font-size:9px}.form-stack input,.form-stack select,.form-stack textarea{width:100%;min-height:51px;padding:0 15px;border:1px solid #e2d8dd;border-radius:15px;outline:0;background:var(--surface)}.form-stack input[type=date],.form-stack input[type=datetime-local]{display:block;width:100%;min-width:0;max-width:100%;inline-size:100%;max-inline-size:100%;height:51px;overflow:hidden;color:var(--ink);line-height:normal;-moz-appearance:none;appearance:none;-webkit-appearance:none;-webkit-text-fill-color:var(--ink)}.form-stack input[type=date]::-webkit-date-and-time-value,.form-stack input[type=datetime-local]::-webkit-date-and-time-value{width:100%;min-width:0;height:100%;min-height:100%;margin:0;display:flex;align-items:center;overflow:hidden;color:var(--ink);text-align:left;-webkit-text-fill-color:var(--ink)}.form-stack input[type=date]::-webkit-datetime-edit,.form-stack input[type=datetime-local]::-webkit-datetime-edit{min-width:0;height:100%;padding:0;display:inline-flex;align-items:center}.form-stack select,.result-select,.ticket-review-form select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#948a92 50%),linear-gradient(135deg,#948a92 50%,transparent 50%);background-position:calc(100% - 21px) calc(50% - 2px),calc(100% - 16px) calc(50% - 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.form-stack select{padding-right:46px;color:var(--ink);-webkit-text-fill-color:var(--ink)}.form-stack textarea{padding-top:14px;padding-bottom:14px;resize:vertical}.form-stack input:focus,.form-stack select:focus,.form-stack textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px var(--purple-soft)}.form-stack .has-validation-error input:not([type=checkbox]),.form-stack .has-validation-error select,.form-stack .has-validation-error textarea,.form-stack .has-validation-error>.searchable-select .searchable-select-trigger{border-color:var(--rose);box-shadow:0 0 0 3px #be5c771a}.form-stack fieldset.has-validation-error,.form-stack [data-validation-anchor].has-validation-error{border:1px solid var(--rose)}.field-validation-error{width:100%;margin:7px 3px 0;display:block;color:var(--rose);font-size:10px;font-weight:500;line-height:1.5}.form-help{margin:-10px 3px 0;color:var(--muted);font-size:10px;line-height:1.6}.application-preference-field{position:relative}.application-preference-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.form-stack .application-preference-control input{min-width:0}.application-preference-trigger{min-height:51px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid #d8cbd3;border-radius:15px;color:var(--purple);background:var(--purple-soft);font-size:9px;font-weight:600;white-space:nowrap;cursor:pointer}.application-preference-trigger>svg:last-child{transition:transform .15s ease}.application-preference-trigger>svg.open:last-child{transform:rotate(180deg)}.application-preference-options{position:absolute;z-index:20;top:calc(100% + 6px);right:0;left:0;max-height:190px;padding:6px;overflow-y:auto;border:1px solid #e2d8dd;border-radius:15px;background:var(--surface);box-shadow:0 12px 28px #3c2b3624}.application-preference-options button{width:100%;min-height:43px;padding:9px 11px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:0;border-radius:11px;color:var(--ink);background:transparent;text-align:left;font-size:10px;cursor:pointer}.application-preference-options button:hover{background:var(--purple-soft)}.application-preference-options button.selected{color:var(--purple);font-weight:600}.searchable-select{position:relative}.searchable-select-trigger{width:100%;min-height:50px;padding:13px 42px 13px 14px;display:flex;align-items:center;border:1px solid #e2d8dd;border-radius:14px;color:var(--ink);background:var(--surface);text-align:left;font:inherit;cursor:pointer}.searchable-select-trigger.placeholder{color:var(--muted)}.searchable-select-trigger:focus-visible{outline:2px solid var(--purple);outline-offset:1px}.searchable-select-chevron{position:absolute;top:17px;right:15px;color:var(--muted);transition:transform .15s ease;pointer-events:none}.searchable-select-chevron.open{transform:rotate(180deg)}.searchable-select-validation{position:absolute;width:1px;height:1px;padding:0;opacity:0;pointer-events:none}.searchable-select-menu{position:absolute;z-index:20;top:calc(100% + 6px);right:0;left:0;padding:6px;border:1px solid #e2d8dd;border-radius:15px;background:var(--surface);box-shadow:0 12px 28px #3c2b3624}.searchable-select-search-field{position:relative;margin-bottom:4px}.searchable-select-search-field svg{position:absolute;top:50%;left:12px;color:var(--muted);transform:translateY(-50%);pointer-events:none}.form-stack .searchable-select-search-field input{min-height:42px;padding:9px 11px 9px 36px}.searchable-select-options{max-height:168px;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}.searchable-select-option{width:100%;min-height:43px;padding:9px 11px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:0;border-radius:11px;color:var(--ink);background:transparent;text-align:left;font-size:11px;cursor:pointer}.searchable-select-option.active{background:var(--purple-soft)}.searchable-select-option.selected{color:var(--purple);font-weight:600}.searchable-select-option svg{flex:none}.searchable-select-empty{margin:0;padding:14px 10px;color:var(--muted);text-align:center;font-size:10px}.form-pair{width:100%;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.date-form-pair{grid-template-columns:minmax(0,1fr)}.payment-section{margin:0;padding:15px;display:grid;gap:12px;border:1px solid #e2d8dd;border-radius:17px;background:var(--surface)}.payment-section legend{padding:0 5px;font-size:12px;font-weight:600}.payment-section legend b{margin-left:5px;color:var(--rose);font-size:9px}.payment-entry{padding:13px;display:grid;gap:10px;border-radius:14px;background:var(--bg)}.payment-entry-head{display:flex;align-items:center;justify-content:space-between}.payment-entry-head strong{color:var(--muted);font-size:9px}.payment-remove{padding:4px 2px;display:inline-flex;align-items:center;gap:4px;border:0;color:var(--rose);background:transparent;font-size:9px;cursor:pointer}.payment-entry-fields{display:grid;grid-template-columns:1.25fr 1fr;gap:9px}.payment-entry-fields label>span{margin-bottom:6px;color:var(--muted);font-size:9px}.payment-entry-fields input,.payment-entry-fields select{min-height:45px;background-color:var(--surface)}.payment-add{min-height:42px;display:flex;align-items:center;justify-content:center;gap:5px;border:1px dashed #d8cbd3;border-radius:13px;color:var(--purple);background:var(--purple-soft);font-size:10px;font-weight:600;cursor:pointer}.payment-total{margin:0;color:var(--muted);text-align:right;font-size:10px}.payment-total span{margin-left:3px;font-size:9px}.payment-total.matched{color:var(--green);font-weight:600}.station-section{margin:0;padding:0;display:grid;gap:9px;border:0}.station-section legend{margin:0 0 1px 3px;padding:0;font-size:12px;font-weight:600}.station-entry{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:8px}.station-remove{min-height:42px;display:grid;place-items:center;border:1px solid #eadce2;border-radius:13px;color:var(--rose);background:var(--surface);cursor:pointer}.station-add{min-height:42px;display:flex;align-items:center;justify-content:center;gap:5px;border:1px dashed #d8cbd3;border-radius:13px;color:var(--purple);background:var(--purple-soft);font-size:10px;font-weight:600;cursor:pointer}.nested-registration{margin-top:-8px;padding:16px;display:grid;gap:15px;border-radius:17px;background:var(--purple-soft)}.nested-registration input{background-color:#fffdfcdb}.seat-map-field{display:grid;gap:8px}.seat-map-heading{min-height:18px;margin:0 3px;display:flex;align-items:center}.seat-map-heading>span{font-size:12px;font-weight:600}.form-stack .seat-map-input{position:absolute;width:1px;height:1px;min-height:0;padding:0;overflow:hidden;border:0;opacity:0;pointer-events:none}.seat-map-trigger{width:100%;min-height:76px;padding:11px 12px;display:flex;align-items:center;gap:12px;border:1.5px dashed #cfc1ca;border-radius:17px;color:var(--ink);background:var(--surface);text-align:left;cursor:pointer}.seat-map-trigger:active{transform:scale(.99);background:#f8f3f6}.seat-map-trigger:focus-visible{outline:0;border-color:var(--purple);box-shadow:0 0 0 3px #7d688624}.seat-map-trigger.selected{border-style:solid;border-color:#b9cec6;background:#f6faf8}.seat-map-trigger>svg{flex:none;color:#aaa0a8}.seat-map-icon{width:48px;height:48px;display:grid;place-items:center;flex:0 0 48px;border-radius:15px;color:var(--purple);background:var(--purple-soft)}.seat-map-trigger.selected .seat-map-icon{color:var(--green);background:var(--green-soft)}.seat-map-copy{min-width:0;flex:1}.seat-map-copy strong,.seat-map-copy small{display:block}.seat-map-copy strong{overflow:hidden;font-size:12px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.seat-map-copy small{margin-top:4px;color:var(--muted);font-size:9px;line-height:1.45}.seat-map-selected{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:10px}.seat-map-selected>span{display:inline-flex;align-items:center;gap:5px;color:var(--green);font-size:10px;font-weight:600}.seat-map-selected button{min-width:88px;min-height:44px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:4px;border:0;border-radius:12px;color:var(--rose);background:transparent;font-size:10px;font-weight:600;cursor:pointer}.seat-map-error{margin:0 3px;color:var(--rose);font-size:10px}.choice-field{margin:0;padding:14px;display:grid;gap:8px;border:1px solid #e2d8dd;border-radius:15px;background:var(--surface)}.choice-field legend{padding:0 5px;font-size:12px;font-weight:600}.choice-field legend b{color:var(--rose);font-size:9px}.performer-group+.performer-group{padding-top:8px;border-top:1px solid var(--line)}.performer-group-heading{display:flex;align-items:center;gap:8px}.performer-group-heading>.check-row{min-width:0;flex:1}.performer-group>.check-row span,.performer-group-heading>.check-row span{display:flex;align-items:center;gap:7px;font-weight:600}.performer-group>.check-row small,.performer-group-heading>.check-row small{padding:3px 6px;border-radius:7px;color:var(--muted);background:var(--bg);font-size:8px;font-weight:500}.performer-members-toggle{min-height:34px;padding:0 3px 0 8px;border:0;display:inline-flex;align-items:center;gap:3px;flex:0 0 auto;color:var(--muted);background:transparent;font:inherit;font-size:9px;cursor:pointer}.performer-members-toggle svg{transition:transform .16s ease}.performer-members-toggle svg.open{transform:rotate(180deg)}.member-choices{padding:3px 0 3px 26px;display:grid;grid-template-columns:1fr 1fr;gap:2px 8px}.member-choices .check-row{color:var(--muted)}.check-row{min-height:34px;display:flex;align-items:center;gap:9px;font-size:11px}.check-row input{width:17px;min-height:17px;height:17px;margin:0;flex:0 0 17px;align-self:center;accent-color:var(--purple)}.form-stack .check-row>span{min-height:17px;margin:0;display:inline-flex;align-items:center;line-height:1.35}.standalone-check{min-height:48px;padding:0 13px;border-radius:14px;background:var(--surface)}.calculated-field{padding:14px 15px;border-radius:15px;background:var(--green-soft)}.calculated-field span,.calculated-field small{display:block;color:var(--muted);font-size:9px}.calculated-field strong{display:block;margin:5px 0;color:var(--green);font-size:13px}.form-error{margin:-4px 2px 0;color:var(--rose);font-size:10px}.primary-button{min-height:52px;border:0;border-radius:16px;color:#fff;background:var(--purple);font-weight:600;cursor:pointer}.registration-submit-button{position:relative;z-index:1;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.registration-submit-button:active:not(:disabled){transform:scale(.985);filter:brightness(.94)}.danger-button{min-height:48px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid #ead7de;border-radius:16px;color:var(--rose);background:var(--surface);font-weight:600;cursor:pointer}.danger-button:disabled{opacity:.55;cursor:wait}.saved-state{padding:46px 20px 36px;text-align:center}.saved-state span{width:58px;height:58px;margin:0 auto 14px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--green);font-size:25px}.saved-state strong{display:block;font-size:18px}.saved-state p{color:var(--muted);font-size:11px}.saved-state .form-error{margin-top:14px;color:var(--rose);line-height:1.6}.saved-state .primary-button{width:100%;margin-top:18px}.saved-actions{margin-top:18px;display:grid;gap:9px}.saved-actions .primary-button{margin-top:0}.saved-actions .secondary-button{min-height:46px;border:1px solid var(--line);border-radius:15px;color:var(--muted);background:var(--surface);font-weight:600;cursor:pointer}.continuation-notice{margin:0;padding:12px 14px;border-radius:13px;color:var(--purple);background:var(--purple-soft);font-size:10px;line-height:1.6}.import-sheet{max-height:94dvh}.import-help{margin:-4px 2px 0;display:flex;align-items:flex-start;gap:7px;color:var(--muted);font-size:10px;line-height:1.6}.import-help svg{margin-top:1px;flex:none}.import-review{padding-bottom:8px}.import-target-note{margin:7px 3px 0;display:block;color:var(--muted);font-size:9px;line-height:1.55}.import-merge-note{margin:7px 3px 0;display:block;color:var(--amber);font-size:9px;line-height:1.55}.import-mapping-row{padding:12px 0;display:grid;gap:12px;border-bottom:1px solid var(--line)}.import-mapping-row:last-child{border-bottom:0}.import-mapping-field{display:grid;gap:6px}.import-mapping-row .import-mapping-field>span{margin:0 3px;display:flex;align-items:center;gap:7px;color:var(--muted);font-size:9px}.import-mapping-row small{color:var(--muted);font-size:9px;font-weight:400}.import-mapping-field>small{margin:0 3px;line-height:1.55}.import-mapping-row .import-member-note{color:var(--green);line-height:1.55}.import-mapping-row input,.import-mapping-row select{min-height:46px}.form-stack .import-selection-toggle{width:17px;height:17px;min-height:17px;padding:0;border-radius:4px;accent-color:var(--purple)}.import-mapping-meta{min-height:20px;display:flex;justify-content:flex-end}.import-mapping-meta small{padding:3px 7px;border-radius:7px;background:var(--bg)}.import-mapping-row.is-inactive{opacity:.55}.import-schedule{gap:4px}.import-performance-row{padding:6px 0;display:grid;grid-template-columns:70px minmax(0,1fr);align-items:center;gap:8px}.import-performance-row+.import-performance-row{border-top:1px solid var(--line)}.import-performance-row input[type=datetime-local]{min-height:44px}.import-performance-input{min-width:0;display:flex;align-items:center;gap:7px}.import-performance-input input{min-width:0;flex:1}.import-performance-existing{justify-self:start;padding:5px 8px;border-radius:8px;color:var(--green);background:var(--green-soft);font-size:9px;font-weight:600;white-space:nowrap}.import-warning{margin:-4px 2px 0;padding:10px 12px;border-radius:12px;color:#8d6428;background:var(--amber-soft);font-size:10px;line-height:1.6}.primary-button:disabled{opacity:.55;cursor:wait}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:5px 0 21px;padding:4px;border-radius:15px;background:#f0e9eb}.segmented button{min-height:39px;border:0;border-radius:12px;color:var(--muted);background:transparent;font-size:12px;cursor:pointer}.segmented button.active{color:var(--ink);background:var(--surface);box-shadow:0 3px 12px #322d3212;font-weight:600}.card-list{display:grid;gap:13px}.surface-list{overflow:hidden;border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.event-schedule-list{display:grid;gap:13px}.schedule-venue-group{overflow:hidden;border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.schedule-venue-heading{width:100%;min-height:66px;padding:12px 15px;display:flex;align-items:center;gap:11px;border:0;color:inherit;background:var(--green-soft);text-align:left;cursor:pointer}.schedule-venue-name{min-width:0;flex:1;font-size:13px;line-height:1.5;overflow-wrap:anywhere;font-weight:700}.schedule-venue-count{flex:none;color:var(--green);font-size:9px;font-weight:600}.schedule-venue-chevron{flex:none;color:var(--green);transition:transform .2s ease}.schedule-venue-chevron.is-collapsed{transform:rotate(-90deg)}.schedule-performance-row{min-height:68px;padding:12px 15px;display:grid;grid-template-columns:minmax(0,1fr) auto 17px;align-items:center;column-gap:10px;border-top:1px solid var(--line)}.schedule-performance-row strong{min-width:0;grid-column:1;display:grid;grid-template-columns:82px minmax(0,1fr);gap:8px;font-size:12px;line-height:1.5}.schedule-performance-row strong span:last-child{white-space:nowrap}.schedule-performance-row>span{color:var(--muted);font-size:10px;white-space:nowrap}.schedule-performance-row>svg:last-child{grid-column:3;color:#b9afb7}.list-row{min-height:72px;padding:13px 15px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.list-row:last-child{border-bottom:0}.list-icon{width:40px;height:40px;flex:0 0 auto;display:grid;place-items:center;border-radius:13px}.list-icon.is-purple{color:var(--purple);background:var(--purple-soft)}.list-icon.is-rose{color:var(--rose);background:var(--rose-soft)}.list-icon.is-green{color:var(--green);background:var(--green-soft)}.list-icon.is-amber{color:var(--amber);background:var(--amber-soft)}.list-copy,.info-row>div,.agenda-row>div,.application-row>div:not(.application-result-field),.application-main>div,.owned-ticket-row>div{flex:1;min-width:0}.list-copy strong{display:block;font-size:13px}.list-copy p{margin:4px 0 0;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-meta{margin-left:auto;color:var(--muted);font-size:10px;text-align:right}.list-chevron{color:#b9afb7}.status-chip{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:0 9px;border-radius:99px;white-space:nowrap;font-size:9px;font-weight:600}.status-chip.is-purple{color:var(--purple);background:var(--purple-soft)}.status-chip.is-rose{color:var(--rose);background:var(--rose-soft)}.status-chip.is-green{color:var(--green);background:var(--green-soft)}.status-chip.is-amber{color:var(--amber);background:var(--amber-soft)}.status-chip.is-gray{color:#857e84;background:#f0ecec}.compact-section{padding-top:28px}.section-count{color:var(--muted);font-size:10px}.empty-mini,.empty-state{padding:28px 18px;border-radius:18px;color:var(--muted);background:var(--surface);text-align:center;font-size:11px}.empty-state strong{display:block;margin:9px 0 4px;color:var(--ink)}.empty-state p{margin:0}.empty-add-button{min-height:42px;margin:16px auto 0;padding:0 15px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:0;border-radius:13px;color:#fff;background:var(--purple);font-size:11px;font-weight:600;cursor:pointer}.calendar-card{padding:16px 13px 13px;border-radius:24px;background:var(--surface);box-shadow:var(--shadow)}.month-switcher{padding:0 2px 14px;display:flex;align-items:center;justify-content:space-between}.month-switcher strong{font-size:15px}.month-switcher button{width:34px;height:34px;border:0;display:grid;place-items:center;border-radius:11px;background:var(--bg)}.week-row,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.week-row span{padding-bottom:7px;color:var(--muted);text-align:center;font-size:9px}.week-row span:first-child{color:var(--rose)}.calendar-grid button{position:relative;height:43px;padding:5px 0 10px;border:0;border-radius:12px;background:transparent;font-size:11px;cursor:pointer}.calendar-grid button:disabled{cursor:default}.calendar-grid button.today>span:first-child{color:#ad5269;font-weight:700}.calendar-grid button.selected{color:#fff;background:#67526f;box-shadow:0 4px 10px #59416033;font-weight:700}.calendar-grid button.selected.today>span:first-child{color:#fff}.dots{position:absolute;bottom:6px;left:50%;display:flex;gap:2px;transform:translate(-50%)}.dots i,.calendar-legend i{width:5px;height:5px;border-radius:50%;background:currentColor}.performance{color:#7953a2!important}.result{color:#c34f6c!important}.payment{color:#c3842f!important}.renewal{color:#43866f!important}.meetup{color:#397da8!important}.calendar-grid .selected .dots i{box-shadow:0 0 0 1px #ffffffe6}.calendar-legend{margin-top:10px;padding-top:11px;display:flex;justify-content:center;gap:13px;border-top:1px solid var(--line)}.calendar-legend span{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:8px}.calendar-legend i{width:7px;height:7px}.calendar-day-section{margin-top:20px}.calendar-day-section h3{margin:0 0 11px;font-size:14px}.agenda-row{min-height:69px;padding:12px 15px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.agenda-row:last-child{border:0}.agenda-row strong{display:block;font-size:12px}.agenda-row p{margin:4px 0 0;color:var(--muted);font-size:10px}.agenda-row .todo-icon.performance{background:var(--purple-soft)}.agenda-row .todo-icon.result{background:var(--rose-soft)}.agenda-row .todo-icon.payment{background:var(--amber-soft)}.agenda-row .todo-icon.renewal{background:var(--green-soft)}.agenda-row .todo-icon.meetup{background:var(--blue-soft)}.performance-card{position:relative;min-height:136px;padding:18px;display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:10px;overflow:hidden;border-radius:21px;background:var(--surface);box-shadow:var(--shadow)}.performance-copy{min-width:0}.performance-copy>p{margin:0 0 5px;display:-webkit-box;overflow:hidden;color:var(--purple);font-size:10px;line-height:1.55;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.performance-copy h2{margin:0 0 11px;display:-webkit-box;overflow:hidden;font-size:15px;line-height:1.55;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.performance-copy span{margin-top:6px;display:flex;align-items:center;gap:5px;color:var(--muted);font-size:11px}.performance-copy span svg{flex:none}.performance-card>.status-chip{justify-self:start}.detail-page .page-header{min-height:75px}.detail-hero{padding:23px;border-radius:24px;color:#4b4050;background:linear-gradient(145deg,#eee5ef,#dfd2e5);box-shadow:0 14px 32px #6852671a}.detail-kicker{margin:0;font-size:10px;font-weight:600}.detail-hero h2{margin:19px 0 18px;font-size:17px;line-height:1.55}.detail-meta{display:grid;gap:9px;padding-top:16px;border-top:1px solid rgba(91,72,91,.14)}.detail-meta span,.detail-meta a{display:flex;align-items:center;gap:7px;font-size:10px;opacity:.85}.performer-summary{min-width:0;display:flex;align-items:flex-start;gap:8px;font-size:11px;opacity:.88}.performer-summary>svg{margin-top:2px;flex:none}.performer-summary-groups{min-width:0;flex:1;display:grid;gap:7px}.performer-summary-groups p{min-width:0;margin:0;line-height:1.5;overflow-wrap:anywhere}.performer-summary-groups strong,.performer-summary-groups small{display:block}.performer-summary-groups strong{font-size:12px}.performer-summary-groups small{margin-top:2px;font-size:11px;line-height:1.65;opacity:.8}.application-row,.owned-ticket-row{min-height:70px;padding:13px 15px;display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--line)}.application-row:last-child,.owned-ticket-row:last-child{border:0}.application-main{flex:1;min-width:0;display:flex;align-items:center;gap:11px;color:inherit}.application-chevron{flex:none;color:#b9afb7}.person-dot{width:36px;height:36px;display:grid;place-items:center;flex:none;border-radius:50%;color:var(--purple);background:var(--purple-soft)}.application-row strong,.owned-ticket-row strong{display:block;font-size:12px}.application-row p,.owned-ticket-row p{margin:4px 0 0;color:var(--muted);font-size:10px}.application-preferences{margin:7px 0 0;padding:0;display:grid;gap:4px;color:var(--muted);font-size:10px;list-style:none}.application-preferences li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:6px;line-height:1.45}.application-preferences span{font-weight:600;white-space:nowrap}.application-preferences time{min-width:0;white-space:nowrap}.application-result-field{width:88px;flex:none}.application-result-field.is-readonly{width:auto}.application-result-field .form-error{margin:5px 0 0;font-size:8px;line-height:1.35}.winning-result-edit{width:100%;margin-top:7px;padding:0;border:0;color:var(--purple);background:transparent;font-size:9px;font-weight:600;cursor:pointer}.winning-result-edit:disabled{opacity:.55;cursor:wait}.winning-preference-dialog{width:min(calc(100% - 32px),420px);margin:auto auto max(16px,env(safe-area-inset-bottom));padding:22px;border-radius:24px;background:var(--bg);box-shadow:0 20px 60px #362c3438}.winning-preference-dialog h2{margin:0;font-size:18px}.winning-preference-dialog>p:not(.form-error){margin:7px 0 18px;color:var(--muted);font-size:10px;line-height:1.6}.winning-preference-options{display:grid;gap:9px}.winning-performance-options{max-height:min(360px,48dvh);overflow-y:auto;overscroll-behavior:contain}.winning-preference-options button{width:100%;min-height:56px;padding:11px 14px;display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:10px;border:1px solid var(--line);border-radius:15px;color:var(--ink);background:var(--surface);text-align:left;cursor:pointer}.winning-preference-options button:disabled{opacity:.55;cursor:wait}.winning-preference-options strong{color:var(--purple);font-size:11px}.winning-preference-options span{min-width:0;font-size:11px;white-space:nowrap}.winning-preference-dialog>.form-error{margin:12px 2px 0}.winning-preference-cancel{width:100%;min-height:42px;margin-top:12px;border:0;color:var(--muted);background:transparent;font-size:11px;cursor:pointer}.application-result-card{padding:16px;display:flex;align-items:center;gap:14px;border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.application-result-summary{flex:1;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.application-result-summary>div{min-width:0}.application-result-summary small{margin-bottom:4px;display:block;color:var(--muted);font-size:8px;font-weight:600}.application-result-card strong{font-size:13px}.application-result-quantity{padding-left:12px;border-left:1px solid var(--line)}.application-result-quantity strong{white-space:nowrap}.result-select{width:88px;min-height:32px;padding:0 35px 0 9px;border:1px solid var(--line);border-radius:10px;font-size:9px;font-weight:600;cursor:pointer}.result-select.is-pending{color:var(--amber);background-color:var(--amber-soft)}.result-select.is-won{color:var(--green);background-color:var(--green-soft)}.result-select.is-lost{color:var(--muted);background-color:#f0edef}.result-select:disabled{cursor:default;opacity:.65}.ticket-review-form{margin-top:12px;padding:16px;display:grid;gap:12px;border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.ticket-acquisition-method{margin:0;display:flex;align-items:baseline;justify-content:center;gap:7px;font-size:10px}.ticket-acquisition-method span{color:var(--muted);font-size:9px;font-weight:600}.ticket-review-form label>span{display:block;margin-bottom:7px;font-size:10px;font-weight:600}.ticket-review-form input,.ticket-review-form textarea,.ticket-review-form select{width:100%;min-height:43px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background-color:var(--bg);font-size:11px}.ticket-review-form select{padding-right:40px;color:var(--ink);-webkit-text-fill-color:var(--ink)}.ticket-review-form select option{color:var(--ink)}.ticket-review-form label>small{display:block;margin:5px 2px 0;color:var(--muted);font-size:9px}.ticket-review-form input:focus,.ticket-review-form textarea:focus,.ticket-review-form select:focus{outline:0;border-color:var(--purple);box-shadow:0 0 0 3px var(--purple-soft)}.ticket-seat-status{margin:0;color:var(--ink);font-size:12px;font-weight:600;text-align:center}.ticket-seat-summary{margin-top:12px;padding:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.ticket-seat-summary span{display:block;margin-bottom:5px;color:var(--muted);font-size:9px;font-weight:600}.ticket-seat-summary strong{display:block;font-size:12px;line-height:1.6}.ticket-seat-summary .ticket-seat-memo{grid-column:1 / -1}.ticket-seat-summary p{margin:0;font-size:11px;line-height:1.75;white-space:pre-wrap}.fan-service-groups{display:grid;gap:12px}.fan-service-group-card{padding:16px;border-radius:19px;background:var(--surface);box-shadow:var(--shadow)}.fan-service-group-head{display:flex;align-items:center;gap:10px}.fan-service-group-head>div{min-width:0;flex:1}.fan-service-group-head strong,.fan-service-group-head small{display:block}.fan-service-group-head strong{font-size:12px}.fan-service-group-head small{margin-top:3px;color:var(--muted);font-size:8px}.fan-service-records{margin-top:13px;border-top:1px solid var(--line)}.fan-service-record{min-width:0;padding:15px 0;position:relative;border-bottom:1px solid var(--line)}.fan-service-record:last-child{padding-bottom:0;border-bottom:0}.fan-service-record-actions{position:absolute;z-index:1;top:11px;right:0}.fan-service-record dl{margin:0;padding-right:78px;display:grid;gap:12px}.fan-service-record dt{color:var(--muted);font-size:9px;font-weight:600}.fan-service-record dd{margin:4px 0 0;font-size:11px;line-height:1.75;overflow-wrap:anywhere;white-space:pre-wrap}.fan-service-empty-detail{margin:4px 0 0;color:var(--muted);font-size:10px}.ticket-review-form.fan-service-edit-form{margin:0;padding:13px;background:var(--bg);box-shadow:none}.fan-service-edit-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.fan-service-edit-actions .primary-button,.fan-service-edit-actions .secondary-button{min-height:40px;margin:0}.fan-service-edit-actions .secondary-button{border:1px solid var(--line);border-radius:13px;color:var(--muted);background:var(--surface);font-weight:600;cursor:pointer}.fan-service-member-list,.fan-service-event-list,.fan-service-detail-list{display:grid;gap:12px}.fan-service-member-card{min-height:82px;padding:15px;display:flex;align-items:center;gap:13px;border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.fan-service-member-avatar{width:48px;height:48px;display:grid;place-items:center;flex:none;border-radius:50%;color:var(--rose);background:var(--rose-soft)}.fan-service-member-card>div{min-width:0;flex:1}.fan-service-member-card strong{display:block;overflow-wrap:anywhere;font-size:14px}.fan-service-member-card p{margin:5px 0 0;color:var(--muted);font-size:9px}.fan-service-member-card>svg{flex:none;color:#b9afb7}.fan-service-total-count{flex:none;padding:6px 10px;border-radius:99px;color:var(--rose);background:var(--rose-soft);font-size:10px;font-weight:600;white-space:nowrap}.fan-service-event-card{min-height:78px;padding:17px 46px 17px 17px;display:flex;align-items:center;gap:12px;position:relative;border-radius:21px;background:var(--surface);box-shadow:var(--shadow)}.fan-service-event-card h2{min-width:0;margin:0;flex:1;font-size:14px;line-height:1.5}.fan-service-event-card>b{flex:none;padding:5px 8px;border-radius:99px;color:var(--rose);background:var(--rose-soft);font-size:9px}.fan-service-event-chevron{position:absolute;top:50%;right:16px;color:#b9afb7;transform:translateY(-50%)}.fan-service-detail-summary{padding:20px;border-radius:22px;background:linear-gradient(145deg,var(--rose-soft),#f5edf4);box-shadow:var(--shadow)}.fan-service-detail-summary>span{display:flex;align-items:center;gap:7px;color:var(--rose);font-size:11px;font-weight:600}.fan-service-detail-summary h2{margin:18px 0 6px;font-size:17px;line-height:1.55}.fan-service-detail-card{min-width:0;padding:17px;overflow:hidden;border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.fan-service-detail-performance-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}.fan-service-detail-date{min-width:0;display:flex;align-items:center;gap:7px;font-size:10px;font-weight:600;white-space:nowrap}.fan-service-detail-date>svg{flex:none;color:var(--purple)}.fan-service-detail-date time{min-width:0;overflow:hidden;text-overflow:ellipsis}.fan-service-detail-performance-head>b{flex:none;padding:5px 8px;border-radius:99px;color:var(--rose);background:var(--rose-soft);font-size:9px;white-space:nowrap}.fan-service-detail-place{margin:11px 0 0;display:flex;align-items:flex-start;gap:5px;overflow-wrap:anywhere;color:var(--muted);font-size:9px;line-height:1.55}.fan-service-detail-place svg{flex:none}.fan-service-detail-ticket{min-width:0;min-height:52px;margin-top:11px;padding:8px 10px;display:grid;grid-template-columns:16px minmax(0,1fr) 16px;align-items:center;gap:9px;border-radius:12px;color:var(--purple);background:var(--purple-soft)}.fan-service-detail-ticket>svg{flex:none}.fan-service-detail-ticket>span{min-width:0}.fan-service-detail-ticket small,.fan-service-detail-ticket strong{display:block}.fan-service-detail-ticket small{font-size:8px;font-weight:600}.fan-service-detail-ticket strong{margin-top:3px;overflow-wrap:anywhere;color:var(--ink);font-size:10px;line-height:1.45}.fan-service-detail-records{min-width:0;margin-top:18px;padding-top:17px;border-top:1px solid var(--line)}.fan-service-detail-record{min-width:0;padding:0 2px;overflow:hidden}.fan-service-detail-record+.fan-service-detail-record{margin-top:19px;padding-top:19px;border-top:1px dashed #eadfe2}.fan-service-detail-record dl{margin:0;display:grid;gap:17px}.fan-service-detail-record dl>div{min-width:0}.fan-service-detail-record dt{width:fit-content;padding:4px 8px;border-radius:99px;color:var(--rose);background:var(--rose-soft);font-size:8px;font-weight:600;letter-spacing:.02em}.fan-service-detail-record dd{margin:8px 2px 0;font-size:12px;line-height:1.8;overflow-wrap:anywhere;white-space:pre-wrap}.fan-service-detail-record>.fan-service-empty-detail{margin:0}@media(max-width:360px){.fan-service-detail-card{padding:15px}}.section-edit-button{width:34px;height:34px;color:var(--purple);background:var(--purple-soft);box-shadow:none}.section-edit-button:disabled{opacity:.55;cursor:wait}.section-title .mini-add{flex:none;white-space:nowrap;cursor:pointer}.section-title .mini-add:disabled{opacity:.55;cursor:wait}.form-success{margin:0;color:var(--green);font-size:10px}.secondary-link{min-height:42px;display:flex;align-items:center;justify-content:center;gap:7px;color:var(--purple);font-size:11px;font-weight:600}.memo-box{margin-top:26px;padding:18px;border:1px solid var(--line);border-radius:18px;color:var(--muted);background:#fffdfcb8}.memo-box>p:last-child{margin:9px 0 0;color:var(--ink);font-size:11px;line-height:1.75}.memo-box:has(>svg){display:flex;align-items:center;gap:10px}.memo-box:has(>svg) p{margin:0}.event-deadline-card{padding:18px;display:grid;gap:17px;border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.event-deadline-card>div{display:grid;gap:6px}.event-deadline-card span{flex:none;color:var(--muted);font-size:10px;font-weight:600}.event-deadline-card strong{min-width:0;font-size:12px;line-height:1.6}.detail-meta .detail-price-line{align-items:flex-start;line-height:1.55}.detail-meta .detail-price-line>svg{margin-top:1px;flex:none}.event-price-editor{display:grid;gap:14px}.event-price-editor-item{padding:14px;display:grid;gap:13px;border-radius:15px;background:var(--bg)}.event-price-editor-item>strong{font-size:10px;line-height:1.55}.event-price-editor-item .payment-section{background:var(--surface)}.event-source-list{overflow:hidden;border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.event-source-list a{min-height:68px;padding:12px 15px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.event-source-list a:last-child{border-bottom:0}.event-source-list a>span:nth-child(2){min-width:0;flex:1}.event-source-list strong,.event-source-list small{display:block}.event-source-list strong{font-size:11px}.event-source-list small{margin-top:4px;overflow:hidden;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.event-source-list a>svg{flex:none;color:var(--muted)}.full-ticket-card{display:block;padding:18px;overflow:hidden;border:1px solid rgba(238,230,231,.8);border-radius:23px;background:var(--surface);box-shadow:var(--shadow)}.ticket-card-head{display:flex;align-items:center;justify-content:space-between}.ticket-card-head>span:first-child{display:flex;align-items:center;gap:6px;color:var(--purple);font-size:10px;font-weight:600}.full-ticket-card h2{margin:18px 0 3px;font-size:16px;line-height:1.5}.ticket-performance{margin:0;color:var(--muted);font-size:10px;line-height:1.55}.ticket-venue{margin-top:11px;display:flex;align-items:center;gap:6px;color:var(--muted)}.ticket-venue>span{display:flex;flex:none;color:var(--green)}.ticket-venue div{min-width:0}.ticket-venue strong{display:block;overflow-wrap:anywhere;font-size:10px;line-height:1.5;font-weight:600}.ticket-info{display:grid;grid-template-columns:minmax(0,2fr) minmax(52px,1fr);gap:10px;margin-top:13px;padding:14px 2px;border-bottom:1px dashed #d9d4d1}.ticket-info div,.seat-info{display:flex;flex-direction:column;gap:4px}.ticket-info span,.seat-info span,.ticket-details span,.big-seat span,.ticket-detail-grid span{color:var(--muted);font-size:9px;font-weight:600}.ticket-info strong{font-size:11px;line-height:1.55}.ticket-datetime strong{display:flex;align-items:center;gap:5px}.ticket-datetime svg{flex:none;color:var(--purple)}.ticket-details{padding:13px 2px 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:14px}.ticket-details div{min-width:0}.ticket-details span,.ticket-details strong{display:block}.ticket-details strong{margin-top:4px;overflow-wrap:anywhere;font-size:11px;line-height:1.55}.seat-info{padding-top:13px}.seat-info strong{font-size:12px}.ticket-detail-card{position:relative;overflow:hidden;padding:20px;border-radius:24px;background:var(--surface);box-shadow:var(--shadow)}.ticket-detail-card>h2{margin:24px 0 0;font-size:18px;line-height:1.5}.tear-line{position:relative;margin:22px -20px;height:1px;border-top:1px dashed #d5d0ce}.tear-line:before,.tear-line:after{content:"";position:absolute;top:-10px;width:20px;height:20px;border-radius:50%;background:var(--bg)}.tear-line:before{left:-10px}.tear-line:after{right:-10px}.big-seat{display:flex;flex-direction:column;gap:7px}.big-seat strong{font-size:17px}.ticket-detail-grid{margin-top:20px;display:grid;grid-template-columns:2fr 1fr;gap:16px}.ticket-detail-grid div:first-child{grid-row:span 2}.ticket-detail-grid strong{display:block;margin-top:5px;font-size:10px;line-height:1.7}.tear-line+.ticket-detail-grid{margin-top:0}.info-stack{margin-top:22px;overflow:hidden;border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.info-row{min-height:78px;padding:14px 15px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.info-row:last-child{border:0}.info-row small{display:block;margin-bottom:3px;color:var(--muted);font-size:9px}.info-row strong{display:block;font-size:12px}.info-row p{margin:4px 0 0;color:var(--muted);font-size:10px}.menu-list{overflow:hidden;border-radius:21px;background:var(--surface);box-shadow:var(--shadow)}.menu-list>a{min-height:70px;padding:13px 15px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.menu-list>a:last-child{border:0}.menu-list>a>div{flex:1}.menu-list strong{font-size:12px}.menu-list p{margin:3px 0 0;color:var(--muted);font-size:9px}.menu-list>a>svg{color:#b9afb7}.attendance-summary{margin-bottom:24px;padding:15px;display:flex;align-items:center;gap:11px;border-radius:18px;background:var(--green-soft)}.attendance-summary>span{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:12px;color:var(--green);background:var(--surface)}.attendance-summary>div{min-width:0;flex:1}.attendance-summary strong{font-size:12px}.attendance-summary b{flex:none;color:var(--green);font-size:11px}.attendance-years{display:grid;gap:14px}.attendance-year{overflow:hidden;border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.attendance-year-toggle{width:100%;min-height:60px;padding:10px 15px;display:grid;grid-template-columns:minmax(0,1fr) auto 19px;align-items:center;gap:9px;border:0;background:transparent;text-align:left;cursor:pointer;touch-action:manipulation}.attendance-year-toggle h2{margin:0;font-size:20px}.attendance-year-toggle span{color:var(--muted);font-size:10px}.attendance-year-toggle svg,.attendance-month-toggle svg{color:var(--muted);transition:transform .2s ease}.attendance-year-toggle svg.is-collapsed,.attendance-month-toggle svg.is-collapsed{transform:rotate(-90deg)}.attendance-months{border-top:1px solid var(--line)}.attendance-month+.attendance-month{border-top:1px solid var(--line)}.attendance-month-toggle{width:100%;min-height:50px;margin:0;padding:8px 15px;display:grid;grid-template-columns:minmax(0,1fr) auto 17px;align-items:center;gap:8px;border:0;color:var(--purple);background:var(--bg);text-align:left;cursor:pointer;touch-action:manipulation}.attendance-month-toggle h3{margin:0;font-size:13px}.attendance-month-toggle span{color:var(--muted);font-size:9px}.attendance-performance-list{overflow:hidden;border-top:1px solid var(--line);background:var(--surface)}.attendance-performance-card{min-width:0;min-height:82px;padding:13px 15px;display:grid;grid-template-columns:64px minmax(0,1fr) 18px;align-items:center;gap:10px;border-bottom:1px solid var(--line)}.attendance-performance-card:last-child{border-bottom:0}.attendance-date{min-width:0;display:grid;gap:3px}.attendance-date span{font-size:10px;font-weight:600;white-space:nowrap}.attendance-date strong{color:var(--muted);font-size:9px;font-weight:500}.attendance-performance-copy{min-width:0}.attendance-performance-copy h4{margin:0;overflow-wrap:anywhere;font-size:12px;line-height:1.45}.attendance-performance-copy p{margin:3px 0 0;overflow-wrap:anywhere;color:var(--muted);font-size:9px;line-height:1.45}.attendance-performance-copy span{min-width:0;margin-top:6px;display:flex;align-items:center;gap:4px;overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.attendance-performance-copy span svg{flex:none}.attendance-performance-card>svg{color:#b9afb7}@media(max-width:360px){.attendance-performance-card{padding-right:12px;padding-left:12px;grid-template-columns:58px minmax(0,1fr) 16px;gap:8px}.attendance-year-toggle,.attendance-month-toggle{padding-right:12px;padding-left:12px}}.empty-state-link{min-height:38px;margin:15px auto 0;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;color:#fff;background:var(--purple);font-size:10px;font-weight:600}.app-info{min-height:88px;margin:0 0 20px;padding:16px;display:flex;align-items:center;gap:14px;border-radius:21px;background:var(--surface);box-shadow:var(--shadow)}.app-info img{width:56px;height:56px;flex:none;border-radius:16px;box-shadow:0 6px 14px #4e3f5a1f}.app-info strong{display:block;font-size:17px;letter-spacing:-.02em}.detail-note{margin:-4px 2px 16px;color:var(--muted);font-size:11px;line-height:1.7}.artist-fan-club-note{overflow:hidden;color:var(--muted);font-size:9px;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.metrics-card{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:8px;padding:18px 10px;border-radius:21px;background:var(--surface);box-shadow:var(--shadow)}.metrics-card div{padding:0 8px;border-right:1px solid var(--line)}.metrics-card div:last-child{border:0}.metrics-card span{display:block;color:var(--muted);font-size:8px}.metrics-card strong{display:block;margin-top:6px;font-size:10px;line-height:1.55}.people-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.person-card{padding:18px 5px 15px;text-align:center;border-radius:19px;background:var(--surface);box-shadow:var(--shadow)}.person-card>span{width:48px;height:48px;margin:0 auto 10px;display:grid;place-items:center;border-radius:50%;color:#fff}.person-card strong{font-size:12px}.person-card p{margin:3px 0 0;color:var(--muted);font-size:8px}.person-card.is-self{box-shadow:0 0 0 2px var(--purple-soft),var(--shadow)}.self-label{margin-left:4px;padding:2px 5px;border-radius:99px;color:var(--purple);background:var(--purple-soft);font-size:8px;font-weight:700}.self-person-card{margin-bottom:18px;padding:14px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;border:1px solid var(--line);border-radius:17px;background:var(--surface)}.self-person-card.is-linked{border-color:#d8cce0;background:var(--purple-soft)}.self-person-card>span{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;color:var(--purple);background:var(--purple-soft)}.self-person-card.is-linked>span{color:#fff;background:var(--purple)}.self-person-card strong{display:block;font-size:11px}.self-person-card p{margin:3px 0 0;color:var(--muted);font-size:8px}.self-person-card button{min-height:34px;padding:0 10px;border:0;border-radius:10px;color:var(--purple);background:var(--surface);font-size:9px;font-weight:700;cursor:pointer}.self-person-card:not(.is-linked) button{color:#fff;background:var(--purple)}.self-person-card button:disabled{opacity:.55;cursor:wait}.membership-cards{display:grid;gap:12px}.membership-cards>a{padding:18px;border-radius:21px;background:var(--surface);box-shadow:var(--shadow)}.membership-cards>a>div{display:flex;justify-content:space-between;align-items:center}.membership-cards>a>p{margin:15px 0 3px;color:var(--muted);font-size:9px}.membership-cards h2{margin:0;font-size:15px}.membership-cards dl{margin:16px 0;padding:13px 0;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.membership-cards dt{color:var(--muted);font-size:8px}.membership-cards dd{margin:4px 0 0;font-size:10px}.membership-valid{display:flex;align-items:center;gap:5px;color:var(--green);font-size:9px}.membership-detail-card{padding:19px;border-radius:22px;background:var(--surface);box-shadow:var(--shadow)}.membership-detail-heading{display:flex;align-items:center;justify-content:space-between}.membership-detail-card>p{margin:17px 0 4px;color:var(--muted);font-size:9px}.membership-detail-card h2{margin:0;font-size:17px}.membership-detail-card dl{margin:17px 0 0;padding:13px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;border-top:1px solid var(--line)}.membership-detail-card dt{color:var(--muted);font-size:8px}.membership-detail-card dd{margin:4px 0 0;font-size:10px}.trade-card{padding:18px;border-radius:21px;background:var(--surface);box-shadow:var(--shadow)}.trade-head{display:flex;align-items:center;justify-content:space-between}.trade-direction{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:600}.trade-direction.give{color:var(--rose)}.trade-direction.receive{color:var(--green)}.trade-card>p{margin:21px 0 3px;color:var(--muted);font-size:8px}.trade-card h2{margin:0 0 11px;font-size:18px}.trade-event{font-size:11px}.trade-bottom{margin-top:15px;padding-top:13px;display:flex;flex-wrap:wrap;gap:10px 15px;border-top:1px solid var(--line)}.trade-bottom span{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:9px}.trade-bottom span:first-child{color:var(--ink);font-weight:600}.trade-progress{margin-bottom:22px;padding:20px 13px 16px;display:flex;align-items:flex-start;border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.trade-progress>div{width:64px;text-align:center}.trade-progress>div>span{width:30px;height:30px;margin:auto;display:grid;place-items:center;border:2px solid #ded4d9;border-radius:50%;color:#fff}.trade-progress>div.done>span{border-color:var(--green);background:var(--green)}.trade-progress p{margin:7px 0 0;color:var(--muted);font-size:8px}.trade-progress i{flex:1;margin-top:14px;border-top:2px solid #e5dcdf}.meetup-card{margin-top:22px;padding:20px;border-radius:21px;color:#563f45;background:linear-gradient(145deg,#f7e5e8,#efd5da);box-shadow:0 13px 28px #97636d1a}.meetup-card>div{display:flex;align-items:center;gap:7px}.meetup-card>div span{font-size:10px;font-weight:600}.meetup-card h2{margin:17px 0 13px;font-size:18px;line-height:1.6}.meetup-card p{margin:0;display:flex;align-items:center;gap:6px;font-size:10px;opacity:.85}.venue-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.venue-card{overflow:hidden;border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.venue-visual{height:72px;padding:11px 13px;display:flex;align-items:flex-end;justify-content:space-between;color:#55485a;background:linear-gradient(145deg,#eee5ef,#dfd3e4)}.venue-capacity{display:flex;align-items:center;gap:4px;font-size:8px;opacity:.75}.venue-card h2{margin:12px 13px 5px;font-size:13px;line-height:1.45}.venue-stations{min-height:30px;margin:0 13px;display:flex;align-items:flex-start;gap:4px;color:var(--muted);font-size:8px;line-height:1.5}.venue-stations svg{flex:none}.review-count{margin:9px 13px 13px;display:flex;align-items:center;gap:4px;color:var(--purple);font-size:8px}.venue-overview{overflow:hidden;border:1px solid rgba(110,136,127,.15);border-radius:22px;background:linear-gradient(145deg,#f8fbfa,#eef5f2);box-shadow:0 12px 30px #4b655b14}.venue-overview-grid{padding:20px 17px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.venue-overview-item{min-width:0;padding:0 13px;display:flex;align-items:flex-start;gap:10px}.venue-overview-item:first-child{padding-left:0}.venue-overview-item+.venue-overview-item{border-left:1px solid rgba(110,136,127,.16)}.venue-overview-item:only-child{grid-column:1 / -1;padding:0}.venue-overview-item>span{width:32px;height:32px;display:grid;place-items:center;flex:0 0 32px;border-radius:50%;color:var(--green);background:#6e887f1a}.venue-overview-item>div{min-width:0}.venue-overview-item small,.venue-overview-access small{display:block;color:var(--muted);font-size:8px;font-weight:600}.venue-overview-item strong{margin-top:4px;display:block;overflow-wrap:anywhere;font-size:12px;line-height:1.45}.venue-overview-access{padding:14px 17px;display:flex;align-items:flex-start;gap:10px;border-top:1px solid rgba(110,136,127,.12);color:#526760;background:#ffffff6b}.venue-overview-access>svg{margin-top:2px;flex:none;color:var(--green)}.venue-overview-access p{margin:4px 0 0;font-size:10px;line-height:1.65}.seat-map{margin-top:25px;padding:18px;border-radius:21px;background:var(--surface);box-shadow:var(--shadow)}.seat-map h2{margin:0 0 14px;font-size:16px}.seat-map-visual{height:155px;padding:14px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;position:relative;border-radius:16px;background:#f4eff1}.seat-map-visual>span{grid-column:1/-1;height:22px;padding-top:4px;text-align:center;border-radius:6px;color:#fff;background:var(--purple);font-size:9px;font-weight:600}.seat-map-visual i{border:1px solid #d8ccd7;border-radius:8px;background:var(--purple-soft)}.seat-map-visual p{position:absolute;inset:58px 0 auto;text-align:center;color:#766c76;font-size:9px;line-height:1.5}.seat-map-viewer{display:grid;gap:8px}.seat-map-preview{width:100%;height:190px;padding:0;overflow:hidden;position:relative;border:1px solid var(--line);border-radius:16px;background:#f4eff1;cursor:zoom-in}.seat-map-preview:disabled{cursor:wait}.seat-map-preview>img,.seat-map-preview>iframe{width:100%;height:100%;display:block;border:0;object-fit:contain;background:#fff;pointer-events:none}.seat-map-expand-hint{position:absolute;right:9px;bottom:9px;padding:7px 9px;display:inline-flex;align-items:center;gap:5px;border-radius:10px;color:#fff;background:#372d35c2;font-size:9px;font-weight:600;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.seat-map-loading{height:100%;display:grid;place-items:center;color:var(--muted);font-size:10px}.seat-map-modal-backdrop{position:fixed;z-index:200;top:0;right:0;bottom:0;left:0;padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));display:grid;place-items:center;background:#231d22e0}.seat-map-modal{width:min(100%,960px);height:100%;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr);border-radius:18px;background:var(--surface);box-shadow:0 20px 60px #0000004d}.seat-map-modal>header{min-height:58px;padding:8px 9px 8px 16px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line)}.seat-map-modal-title{min-width:0;display:grid;gap:2px}.seat-map-modal-title>strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.seat-map-modal-title>small{color:var(--muted);font-size:8px}.seat-map-modal-actions{display:flex;align-items:center;gap:4px}.seat-map-modal-actions button,.seat-map-modal-actions a{width:40px;height:40px;padding:0;display:grid;place-items:center;border:0;border-radius:12px;color:var(--ink);background:var(--purple-soft);cursor:pointer}.seat-map-modal-actions button:disabled{opacity:.35;cursor:default}.seat-map-modal-actions>span{min-width:43px;color:var(--muted);text-align:center;font-size:9px}.seat-map-modal-content{min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;background:#e9e4e7;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}.seat-map-modal-content>img{max-width:none;height:auto;display:block;margin:auto;object-fit:contain;background:#fff;-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.seat-map-modal-content>iframe{width:100%;height:100%;display:block;border:0;background:#fff}.mini-add{display:flex;align-items:center;gap:3px;padding:7px 10px;border:0;border-radius:11px;color:var(--purple);background:var(--purple-soft);font-size:9px}.review-list{display:grid;gap:11px}.review-list article{padding:16px;border-radius:19px;background:var(--surface);box-shadow:var(--shadow)}.review-head{display:flex;align-items:center;gap:10px}.review-head>div:nth-child(2){flex:1}.review-head strong{font-size:11px}.review-head p{margin:3px 0 0!important;color:var(--muted)!important;font-size:8px!important}.review-list article>p{margin:13px 0;color:#625c62;font-size:10px;line-height:1.75}.venue-review-items{margin-top:13px;display:grid}.venue-review-item{padding:12px 0;border-top:1px solid var(--line)}.venue-review-item:first-child{padding-top:0;border-top:0}.venue-review-item:last-child{padding-bottom:0}.venue-review-item time{color:var(--muted);font-size:8px}.venue-review-item p{margin:5px 0 0;color:#625c62;font-size:10px;line-height:1.75}.review-actions{display:flex;align-items:center;gap:4px}.review-actions button{width:32px;height:32px;padding:0;display:grid;place-items:center;border:0;border-radius:10px;color:var(--purple);background:var(--purple-soft);cursor:pointer}.review-actions button.is-danger{color:var(--rose);background:var(--rose-soft)}.review-actions button:disabled{opacity:.5;cursor:wait}.review-edit-form{margin-top:13px;display:grid;gap:10px}.review-edit-form textarea{width:100%;min-height:88px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--bg);font-size:11px;line-height:1.6}.review-edit-form textarea:focus{outline:0;border-color:var(--purple);box-shadow:0 0 0 3px var(--purple-soft)}.review-edit-form>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.review-edit-form .primary-button,.review-edit-form .secondary-button{min-height:40px;margin:0}.review-edit-form .secondary-button{border:1px solid var(--line);border-radius:13px;color:var(--muted);background:var(--surface);font-weight:600;cursor:pointer}.review-edit-form .secondary-button:disabled{opacity:.55;cursor:wait}.review-action-error{margin:12px 2px 0}@media(min-width:760px){.app-shell{height:calc(100dvh - 32px);margin:16px auto;border-radius:30px}.bottom-nav{bottom:16px;border-radius:0 0 30px 30px}.fab{left:calc(50% + 174px);bottom:98px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;scroll-behavior:auto!important}}.auth-page{min-height:100dvh;display:grid;place-items:center;padding:24px;background:var(--bg, #fbf8f7)}.auth-card{width:min(100%,420px);padding:30px 24px;border-radius:24px;background:#fff;box-shadow:0 12px 40px #4b37411a}.auth-card .brand{margin:0 0 28px;font-size:27px;font-weight:800;letter-spacing:-.04em}.auth-card .brand span{color:#9b87a5}.auth-card h1{margin:12px 0 8px;font-size:24px}.auth-card>p{color:#756d72;line-height:1.6}.auth-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;color:#806e8a;background:#f0eaf2}.config-card code{overflow-wrap:anywhere}.app-loading{min-height:100dvh;display:grid;place-items:center;color:#786f75;background:#fbf8f7}.primary-button:disabled{cursor:wait;opacity:.65}.account-card{margin-top:20px;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-radius:16px;background:#fff}.account-card strong{font-size:14px;overflow-wrap:anywhere}.account-card p{margin:3px 0 0;color:#8c8288;font-size:12px}.account-card button{padding:8px 11px;border:0;border-radius:10px;color:#715e78;background:#f0eaf2;font:inherit;font-size:12px;font-weight:700}
