*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f0f0f;--surface: #1a1a1a;--surface2: #242424;--border: #2e2e2e;--text: #e8e8e8;--text-muted: #888;--accent: #c8a96e;--accent-hover: #dbbf80;--danger: #e05c5c;--success: #5cb85c;--radius: 12px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}html,body{background:#fff;color:#111;font-family:var(--font);font-size:15px;min-height:100vh;-webkit-font-smoothing:antialiased;overflow-x:hidden;overscroll-behavior-x:none}.app{max-width:480px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}.page{padding:1rem;flex:1;display:flex;flex-direction:column;gap:1rem}@keyframes skel-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skel{background:linear-gradient(90deg,#eef0f3 25%,#f7f8fa 37%,#eef0f3 63%);background-size:400% 100%;animation:skel-shimmer 1.4s ease infinite;border-radius:8px}.skel-avatar{width:48px;height:48px;border-radius:50%;flex-shrink:0}.skel-line{height:.9rem;border-radius:6px}.skel-ring{width:100%;max-width:240px;aspect-ratio:1 / 1;border-radius:50%;margin:1rem 0}.skel-tile{flex:1;height:72px;border-radius:14px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem}h1{font-size:1.4rem;font-weight:700;margin-bottom:.5rem}h2{font-size:1.2rem;font-weight:600;margin-bottom:.75rem}h3{font-size:1rem;font-weight:600;margin-bottom:.5rem}.subtitle{color:var(--text-muted);font-size:.9rem;margin-bottom:1rem}.hint{color:var(--text-muted);font-size:.875rem;text-align:center;padding:.5rem}.btn-primary,.btn-secondary,.btn-back{display:block;width:100%;padding:.75rem 1rem;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:opacity .15s}.btn-primary{background:var(--accent);color:#111}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:var(--surface2);color:var(--text);border:1px solid var(--border)}.btn-back{background:transparent;color:var(--accent);width:auto;padding:.25rem 0;font-size:.9rem}button:disabled{opacity:.5;cursor:not-allowed}.field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.75rem}.field label{font-size:.85rem;color:var(--text-muted)}.page input[type=text],.page input[type=tel],.page input[type=number]{background:var(--surface2);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.95rem;padding:.65rem .75rem;width:100%;outline:none;transition:border-color .15s}input:focus{border-color:var(--accent)}.search-form{display:flex;gap:.5rem;margin-bottom:.75rem}.search-form input{flex:1}.search-form button{width:auto;padding:.65rem 1rem}.error-msg{background:#e05c5c1f;border:1px solid rgba(224,92,92,.3);border-radius:8px;color:var(--danger);padding:.6rem .75rem;font-size:.875rem}.success-msg{background:#5cb85c1f;border:1px solid rgba(92,184,92,.3);border-radius:8px;color:var(--success);padding:.6rem .75rem;font-size:.875rem}.loading{color:var(--text-muted);text-align:center;padding:2rem}.participant-card{text-align:center;padding:1.5rem}.participant-number{font-size:1.6rem;font-weight:700;color:var(--accent);margin-bottom:.25rem}.tokens-count{color:var(--text-muted);font-size:.9rem}.status-row{display:flex;justify-content:space-between;align-items:center;padding:.45rem 0;border-bottom:1px solid var(--border)}.status-row:last-of-type{border-bottom:none}.status-row .label{color:var(--text-muted);font-size:.875rem}.status-row .value{font-weight:600}.weeks-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-top:1rem}.week-badge{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:.6rem .3rem;text-align:center;display:flex;flex-direction:column;gap:.2rem}.week-badge.completed{border-color:var(--success);background:#5cb85c14}.week-badge.current{border-color:var(--accent)}.week-num{font-size:.7rem;color:var(--text-muted)}.week-status{font-size:1rem;font-weight:700}.week-badge.completed .week-status{color:var(--success)}.week-badge.current .week-status{color:var(--accent)}.info-row{display:flex;gap:.5rem;padding:.35rem 0;font-size:.9rem;border-bottom:1px solid var(--border)}.info-row:last-child{border-bottom:none}.info-row span:first-child{color:var(--text-muted);flex-shrink:0}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;text-align:center}.stat-value{font-size:2rem;font-weight:700;color:var(--accent)}.stat-label{font-size:.75rem;color:var(--text-muted);margin-top:.25rem}.list-meta{font-size:.8rem;color:var(--text-muted);margin-bottom:.5rem}.participants-list{display:flex;flex-direction:column;gap:.4rem}.participant-row{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.7rem .9rem;display:flex;align-items:center;gap:.75rem;cursor:pointer;transition:border-color .15s}.participant-row:hover{border-color:var(--accent)}.pnum{font-weight:700;color:var(--accent);min-width:60px}.pphone{flex:1;color:var(--text-muted);font-size:.875rem}.ptokens{font-size:.8rem;color:var(--text-muted)}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:.5rem}.pagination button{width:auto;padding:.4rem .8rem}.badge{font-size:.7rem;padding:.2rem .45rem;border-radius:4px;font-weight:600}.badge-active{background:#c8a96e33;color:var(--accent)}.badge-success{background:#5cb85c33;color:var(--success)}.badge-failed{background:#e05c5c33;color:var(--danger)}.badge-waiting{background:var(--surface2);color:var(--text-muted)}.cycle-row{display:flex;align-items:center;gap:.5rem;padding:.4rem 0;font-size:.85rem;border-bottom:1px solid var(--border);color:var(--text-muted)}.cycle-row:last-child{border-bottom:none}.export-buttons{display:flex;gap:.75rem;margin-top:.75rem}.export-buttons button{flex:1}.cycle-info{margin-top:.5rem}.admin-header{background:var(--surface);border-bottom:1px solid var(--border);padding:.75rem 1rem;font-size:.85rem;color:var(--text-muted);text-align:center}.tab-nav{display:flex;overflow-x:auto;background:var(--surface);border-bottom:1px solid var(--border);-webkit-overflow-scrolling:touch;scrollbar-width:none}.tab-nav::-webkit-scrollbar{display:none}.tab-btn{flex-shrink:0;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);cursor:pointer;font-size:.82rem;font-weight:500;padding:.7rem .9rem;transition:color .15s,border-color .15s;width:auto}.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.tab-content{flex:1}.status-page{min-height:100vh;background:#fff;padding:max(.75rem,calc(env(safe-area-inset-top) + .5rem),calc(var(--tg-safe-top, 0px) + .5rem)) .875rem 2rem;display:flex;flex-direction:column;gap:15px;color:#111}.status-loading{text-align:center;padding:4rem 1rem;color:#8e8e93}.status-header{background:#f2f3f5;border-radius:16px;padding:.85rem 1rem;display:flex;align-items:flex-start;gap:.75rem}.status-avatar{width:48px;height:48px;border-radius:50%;background:#c7d8f0;color:#2c5f9e;font-size:1.25rem;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.status-avatar-img{width:100%;height:100%;object-fit:cover}.status-user-info{flex:1;min-width:0}.status-user-top{display:flex;align-items:baseline;gap:.35rem;flex-wrap:wrap}.status-username{font-size:.95rem;font-weight:400;color:#111}.status-pnum{font-size:.95rem;font-weight:400;color:#57a3f9}.status-phone{font-size:.8rem;color:#8e8e93;margin-top:.2rem}.status-active-badge{flex-shrink:0;align-self:center;font-size:.68rem;font-weight:700;padding:.45rem 1rem;border-radius:20px;white-space:nowrap}.status-active-badge.badge-on{background:#4890694d;color:#479068}.status-active-badge.badge-off{background:#dbdbdd;color:#9b9b9b}.status-active-badge.badge-failed{background:#eb6d6d33;color:#eb6d6d}.status-active-badge.badge-success{background:#47906833;color:#479068}.status-ring-card{background:#f2f3f5;border-radius:16px;padding:0 1rem 1rem;display:flex;flex-direction:column;align-items:center}.ring-wrap{width:100%;max-width:240px}.ring-svg{width:100%;display:block}.status-weeks-row{display:flex;gap:.5rem;justify-content:center}.ws-wrap{display:flex;flex-direction:column;align-items:center;gap:.35rem}.ws-badge{display:flex;align-items:center;justify-content:center;background:#9b9b9b1a;border:1.5px solid #9B9B9B;border-radius:10px;width:58px;height:48px}.ws-badge.ws-failed{background:#eb6d6d1f;border-color:#eb6d6d;color:#eb6d6d}.ws-failed .ws-dot{background:#eb6d6d}.ws-wrap-failed .ws-label{color:#eb6d6d}.ws-badge.ws-done{background:#57a3f91f;border-color:#57a3f9;color:#57a3f9}.ws-badge.ws-current{background:#57a3f926;border-color:#57a3f9;color:#57a3f9;box-shadow:0 0 10px #57a3f973,0 0 20px #57a3f933}.ws-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center}.ws-dot{width:6px;height:6px;border-radius:50%;background:#9b9b9b}.ws-done .ws-dot,.ws-current .ws-dot{background:#57a3f9}.ws-label{font-size:.62rem;font-weight:600;color:#8e8e93;letter-spacing:.02em}.ws-done .ws-label,.ws-current .ws-label{color:#57a3f9}.status-stats{display:flex;gap:.5rem}.stat-tile{flex:1;background:#f2f3f5;border-radius:14px;padding:.75rem .6rem .7rem;display:flex;flex-direction:column;gap:.25rem}.stat-tile-label{font-size:.72rem;color:#8e8e93;font-weight:500}.stat-tile-value{font-size:1rem;font-weight:700;color:#111}.stv-done{color:#2196f3}.stv-failed{color:#eb6d6d}.stv-empty-dash{color:#ababab;font-size:.75rem;font-weight:400;line-height:1;display:inline-flex;align-items:center}.stv-waiting{color:#9b9b9b}.stv-neutral{color:#111}.stv-streak{display:flex;align-items:center;gap:.25rem}.stv-streak-num{font-size:1rem;font-weight:700;color:#111}.stv-streak-unit{font-size:.68rem;font-weight:400;color:#302f31;opacity:.6;line-height:1;align-self:center;margin-top:1px}.stv-tokens{display:flex;align-items:center;gap:.3rem;color:#57a3f9}.token-dot{color:#57a3f9;font-size:1rem;line-height:1}.failed-hint{display:flex;align-items:flex-start;gap:.6rem;background:#eb6d6d1a;border:1px solid rgba(235,109,109,.4);border-radius:12px;padding:.75rem 1rem;font-size:.85rem;color:#b84444;line-height:1.4}.failed-hint-icon{flex-shrink:0;width:20px;height:20px;background:#eb6d6d;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;margin-top:1px}.success-hint{display:flex;align-items:flex-start;gap:.6rem;background:#47906833;border:1px solid rgba(71,144,104,.4);border-radius:12px;padding:.75rem 1rem;font-size:.85rem;color:#479068;line-height:1.4}.success-hint-icon{flex-shrink:0;width:20px;height:20px;background:#479068;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;margin-top:1px}.zero-warning{display:flex;align-items:flex-start;gap:.6rem;background:#ffc10726;border:1px solid rgba(255,193,7,.5);border-radius:12px;padding:.75rem 1rem;font-size:.85rem;color:#7a5c00;line-height:1.4}.zero-warning-icon{flex-shrink:0;width:20px;height:20px;background:#ffc107;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;margin-top:1px}.status-history-card{background:#f2f3f5;border-radius:16px;padding:.9rem 0 1rem;overflow:hidden}.history-title{font-size:.8rem;color:#8e8e93;font-weight:500;margin-bottom:.75rem;padding:0 1rem}.history-row{display:flex;gap:.5rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:0 1rem 2px}.history-row::-webkit-scrollbar{display:none}.hist-item{display:flex;flex-direction:column;align-items:center;gap:.35rem;flex-shrink:0}.hist-badge{width:58px;height:48px;border-radius:10px;background:#9b9b9b33;border:1.5px solid #9B9B9B;display:flex;align-items:center;justify-content:center;color:#9b9b9b}.hist-badge.hist-success{background:#c8ded2;border-color:#489069;color:#489069}.hist-badge.hist-failed{background:#e05c5c1a;border-color:#e05c5c;color:#e05c5c}.hist-badge.hist-active{background:#57a3f926;border-color:#57a3f9;color:#57a3f9}.hist-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.hist-month{font-size:.62rem;font-weight:600;color:#8e8e93;letter-spacing:.02em}.history-empty{font-size:.82rem;color:#8e8e93;padding:.25rem 1rem .1rem}.reg-page{display:flex;flex-direction:column;height:100vh;height:100dvh;background:#fff;color:#000;overflow:hidden}.reg-content{flex:1;min-height:0;overflow-y:auto;padding:max(1.5rem,calc(env(safe-area-inset-top) + 1rem),calc(var(--tg-safe-top, 0px) + 1rem)) 1.25rem 1rem}.reg-success-content{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:max(3rem,calc(env(safe-area-inset-top) + 2rem),calc(var(--tg-safe-top, 0px) + 2rem))}.reg-title{font-size:1.65rem;font-weight:700;color:#2196f3;margin-bottom:.4rem}.reg-subtitle{font-size:.9rem;color:#666;margin-bottom:1.75rem;line-height:1.4}.reg-field-label{font-size:.85rem;font-weight:600;color:#333;margin-bottom:.5rem}.reg-optional{font-weight:400;color:#8e8e93}.reg-text-input{display:block;width:100%;box-sizing:border-box;background:#f2f2f7;border:1.5px solid #f2f2f7;border-radius:12px;color:#111;font-size:16px;padding:.8rem .9rem;outline:none;margin-bottom:1.25rem;transition:border-color .15s,background .15s}.reg-text-input:focus{border-color:#2196f3;background:#fff}.reg-text-input::placeholder{color:#bbb}.reg-phone-outer{position:relative}.reg-phone-wrap{display:flex;align-items:center;background:#f2f2f7;border:1.5px solid #f2f2f7;border-radius:12px;overflow:hidden;transition:border-color .15s}.reg-phone-wrap:focus-within{border-color:#2196f3;background:#fff}.reg-phone-wrap.has-error{border-color:#ff3b30}.reg-phone-prefix{display:flex;align-items:center;gap:.35rem;padding:0 .75rem;flex-shrink:0;-webkit-user-select:none;user-select:none;background:none;border:none;cursor:pointer;font:inherit;-webkit-tap-highlight-color:transparent}.reg-phone-prefix:disabled{cursor:default}.reg-caret{flex-shrink:0}.reg-flag{font-size:1.15rem}.reg-code{font-size:.95rem;font-weight:600;color:#333}.reg-phone-divider{width:1px;height:24px;background:#ddd;flex-shrink:0}.reg-country-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10}.reg-country-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:170px;background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000002e;overflow:hidden;z-index:11}.reg-country-option{display:flex;align-items:center;gap:.5rem;width:100%;padding:.65rem .9rem;background:none;border:none;font-size:.9rem;font-family:inherit;color:#111;cursor:pointer;text-align:left}.reg-country-option:not(:first-child){border-top:1px solid #f2f2f7}.reg-country-option:active{background:#f2f2f7}.reg-page input[type=tel],.reg-phone-input{flex:1;background:transparent!important;border:none!important;border-radius:0!important;color:#111!important;font-size:16px;padding:.8rem .75rem;outline:none;width:100%;box-shadow:none!important}.reg-page input[type=tel]::placeholder,.reg-phone-input::placeholder{color:#bbb!important}.reg-field-hint{margin-top:.5rem;font-size:.78rem;color:#8e8e93;line-height:1.4}.reg-field-error{color:#ff3b30}.reg-error{background:#fff2f2;border:1px solid rgba(255,59,48,.25);border-radius:10px;color:#ff3b30;font-size:.85rem;padding:.65rem .85rem;margin-bottom:1rem}.reg-manual-link{display:block;width:auto;margin:.9rem auto 0;background:none;border:none;color:#2196f3;font-size:.88rem;font-weight:500;cursor:pointer;padding:.4rem}.reg-footer{padding:.75rem 1.25rem calc(.75rem + env(safe-area-inset-bottom,0px));background:#fff}.reg-btn{display:block;width:100%;padding:.9rem 1rem;background:#2196f3;color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .15s}.reg-btn:disabled{opacity:.6;cursor:not-allowed}.reg-btn:not(:disabled):active{opacity:.85}.reg-success-icon{width:80px;height:80px;border-radius:50%;background:#34c759;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}.reg-success-title{font-size:1.55rem;font-weight:700;color:#111;line-height:1.25;margin-bottom:.5rem}.reg-success-subtitle{font-size:.9rem;color:#666;margin-bottom:1.75rem}.reg-number-card{width:100%;background:#f2f2f7;border-radius:14px;padding:1rem 1.25rem 1.1rem;margin-bottom:1rem}.reg-number-label{font-size:.78rem;color:#8e8e93;margin-bottom:.25rem}.reg-number-value{font-size:1.9rem;font-weight:700;color:#111}.reg-info-box{display:flex;align-items:flex-start;gap:.6rem;background:#fff8ec;border:1px solid rgba(255,149,0,.3);border-radius:12px;padding:.8rem .9rem;font-size:.82rem;color:#7a4f00;line-height:1.45;width:100%;margin-top:.25rem}.reg-info-icon{flex-shrink:0;width:18px;height:18px;background:#ff9500;border-radius:50%;color:#fff;font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:1px}.ap-page,.ap-detail-page{height:100vh;height:100dvh;background:#fff;display:flex;flex-direction:column;color:#111;overflow:hidden}.ap-top{flex-shrink:0;padding:max(15px,calc(env(safe-area-inset-top) + 10px),calc(var(--tg-safe-top, 0px) + 10px)) 15px 0;display:flex;flex-direction:column;gap:15px}.ap-scroll,.ap-detail-scroll{flex:1;min-height:0;overflow-y:auto;padding:15px 15px 5.5rem;display:flex;flex-direction:column;gap:15px}.ap-detail-scroll{padding-top:max(15px,calc(env(safe-area-inset-top) + 10px),calc(var(--tg-safe-top, 0px) + 10px))}.ap-head-row{display:flex;align-items:flex-end;justify-content:space-between;padding:.25rem 0 .1rem}.ap-title{font-size:1.85rem;font-weight:700;color:#111;line-height:1.1;margin:0}.ap-date{font-size:.85rem;color:#8e8e93;padding-bottom:.25rem}.ap-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ap-stat-card{background:#f2f3f5;border-radius:16px;padding:1rem 1.1rem .9rem;display:flex;flex-direction:column;gap:.2rem}.ap-stat-value{font-size:2rem;font-weight:700;color:#111;line-height:1}.ap-stat-label{font-size:.78rem;color:#8e8e93;white-space:pre-line;line-height:1.3;margin-top:.2rem}.ap-search-wrap{display:flex;align-items:center;gap:.5rem;background:#f2f3f5;border-radius:12px;padding:.7rem .85rem;margin-bottom:-12px}.ap-search-icon{flex-shrink:0}input.ap-search-input{flex:1;background:#f2f3f5;border:none;border-radius:0;outline:none;font-size:16px;color:#111;font-family:var(--font);padding:0;width:100%}input.ap-search-input::placeholder{color:#8e8e93}.ap-list{display:flex;flex-direction:column;gap:0}.ap-loading,.ap-empty{text-align:center;padding:1.5rem;color:#8e8e93;font-size:.9rem}.ap-user-row{display:flex;align-items:center;gap:.75rem;padding:.7rem 0;cursor:pointer;border-bottom:1px solid #F2F3F5}.ap-user-row:last-child{border-bottom:none}.ap-avatar{width:44px;height:44px;border-radius:12px;background:#2196f3;color:#fff;font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;letter-spacing:.02em;overflow:hidden}.ap-avatar-img{width:100%;height:100%;object-fit:cover}.ap-user-info{flex:1;min-width:0}.ap-user-num{font-size:.92rem;font-weight:600;color:#111;line-height:1.2}.ap-admin-chip{font-size:.68rem;font-weight:700;color:#2196f3;background:#2196f31f;border-radius:20px;padding:.35rem .75rem;white-space:nowrap}.ap-user-phone{font-size:.78rem;color:#8e8e93;margin-top:.1rem}.ap-user-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.ap-token-chip{display:flex;align-items:center;gap:4px}.ap-token-dot{width:12px;height:12px;border-radius:50%;background:#2196f3;flex-shrink:0}.ap-token-num{font-size:.9rem;font-weight:500;color:#2196f3}.ap-badge{font-size:.68rem;font-weight:700;padding:.35rem .75rem;border-radius:20px;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}.ap-badge-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.ap-badge-active,.ap-badge-success{background:#34c75933;color:#34a853}.ap-badge-failed{background:#eb6d6d26;color:#eb6d6d}.ap-badge-inactive{background:#f2f3f5;color:#8e8e93}.ap-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.75rem 0 .25rem}.ap-pagination button{width:auto;padding:.4rem .9rem;border:1px solid #ddd;border-radius:8px;background:#fff;cursor:pointer;font-size:.9rem}.ap-pagination button:disabled{opacity:.35;cursor:not-allowed}.ap-bottom{position:fixed;bottom:0;left:0;right:0;max-width:480px;margin:0 auto;padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom,0px));background:#fff}.ap-main-btn{display:block;width:100%;padding:.95rem 1rem;background:#2196f3;color:#fff;border:none;border-radius:14px;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .15s;font-family:var(--font)}.ap-main-btn:disabled{opacity:.45;cursor:not-allowed}.ap-main-btn:not(:disabled):active{opacity:.85}.ap-detail-header{padding:.85rem 0 0;display:flex;align-items:center;gap:.75rem}.ap-detail-info{flex:1;min-width:0}.ap-detail-top{display:flex;align-items:baseline;gap:.4rem}.ap-detail-phone-handle{font-size:.95rem;font-weight:400;color:#111}.ap-detail-pnum{font-size:.95rem;font-weight:400;color:#57a3f9}.ap-detail-phone{font-size:.78rem;color:#8e8e93;margin-top:.15rem}.ap-detail-card{padding:0}.ap-detail-label{font-size:.78rem;color:#8e8e93;margin-bottom:.65rem}.ap-weeks-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.ap-week-cell{background:#9b9b9b1a;border:none;border-radius:10px;height:96px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem}.ap-week-cell.ws-done{background:#c8ded2}.ap-week-cell.ws-current{background:#57a3f926;box-shadow:0 0 10px #57a3f966,0 0 20px #57a3f933}.ap-week-label{font-size:.68rem;font-weight:600;color:#8e8e93;letter-spacing:.03em}.ap-week-cell.ws-done .ap-week-label{color:#489069}.ap-week-cell.ws-current .ap-week-label{color:#57a3f9}.ap-week-count{font-size:2rem;font-weight:700;color:#302f31;line-height:1}.ap-week-cell.ws-done .ap-week-count{color:#489069}.ap-week-cell.ws-current .ap-week-count{color:#57a3f9}.ap-week-dot-wrap{display:flex;align-items:center;justify-content:center;min-height:16px}.ap-week-dot{width:5px;height:5px;border-radius:50%;background:#9b9b9b}.ap-week-check{font-size:.95rem;font-weight:900}.ap-week-cell.ws-done .ap-week-check{color:#489069}.ap-week-cell.ws-current .ap-week-check{color:#57a3f9}.ap-info-card{background:#f2f3f5;border-radius:16px;overflow:hidden}.ap-info-row{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;border-bottom:1px solid rgba(0,0,0,.06)}.ap-info-row:last-child{border-bottom:none}.ap-info-label{font-size:.88rem;color:#111}.ap-info-value{font-size:.88rem;font-weight:500;color:#111}.ap-tokens-val{display:flex;align-items:center;gap:5px;color:#2196f3}.ap-mark-success{background:#34c7591f;border:1px solid rgba(52,199,89,.3);border-radius:12px;color:#34a853;padding:.65rem .9rem;font-size:.875rem}.ap-mark-error{background:#eb6d6d1a;border:1px solid rgba(235,109,109,.3);border-radius:12px;color:#eb6d6d;padding:.65rem .9rem;font-size:.875rem}.dev-panel{position:fixed;bottom:0;right:0;z-index:9999;max-width:320px;width:100%}.dev-toggle{background:#1a1a2e;border:1px solid #444;border-radius:6px 0 0;color:#aaa;cursor:pointer;font-family:monospace;font-size:.75rem;padding:.35rem .6rem;width:auto;float:right;clear:both}.dev-body{background:#111;border:1px solid #333;border-radius:8px 0 0;clear:both;padding:.75rem;max-height:60vh;overflow-y:auto}.dev-section{margin-bottom:.75rem;font-size:.8rem}.dev-section strong{color:#ccc;display:block;margin-bottom:.3rem}.dev-section input{width:120px;font-size:.8rem;padding:.3rem .4rem}.dev-section button{width:auto;padding:.3rem .6rem;font-size:.75rem;background:#333;color:#ccc;border:1px solid #555;border-radius:4px;cursor:pointer}.dev-log{max-height:120px;overflow-y:auto;margin-top:.35rem}.dev-log-empty{color:#666;font-size:.75rem;padding:.25rem}.dev-log-entry{display:flex;flex-direction:column;gap:.1rem;border-bottom:1px solid #222;padding:.3rem 0;font-size:.72rem}.dev-log-id{color:var(--accent)}.dev-log-text{color:#bbb;white-space:pre-wrap}.dev-log-time{color:#666}
