:root{--bg: #ffffff;--bg-elev: #ffffff;--bg-subtle: #f6f7f9;--bg-hover: #eef1f5;--bg-active: #e6eaf0;--border: #e7e9ee;--border-strong: #d7dbe2;--text: #161a22;--text-2: #5a6573;--text-3: #6b7280;--accent: #2f6fed;--accent-hover: #1f5fe0;--accent-weak: rgba(47, 111, 237, .1);--accent-text: #ffffff;--danger: #e5484d;--danger-hover: #d23b40;--danger-weak: rgba(229, 72, 77, .1);--success: #2ea043;--star: #f5a623;--shadow-1: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .08);--shadow-2: 0 12px 34px rgba(16, 24, 40, .16);--radius: 12px;--radius-sm: 9px;--radius-lg: 18px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--topbar-h: 60px;--sidebar-w: 340px}[data-theme=dark]{--bg: #0f1115;--bg-elev: #161922;--bg-subtle: #1a1e28;--bg-hover: #20262f;--bg-active: #283040;--border: #262b36;--border-strong: #333a48;--text: #e7eaf0;--text-2: #a6afbe;--text-3: #828c9c;--accent: #5b8cff;--accent-hover: #6f9bff;--accent-weak: rgba(91, 140, 255, .16);--accent-text: #0c1322;--danger: #ff6b6b;--danger-hover: #ff7e7e;--danger-weak: rgba(255, 107, 107, .16);--success: #46c463;--star: #f5b53f;--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 18px 44px rgba(0, 0, 0, .55)}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%}body{margin:0;font-family:var(--font);font-size:15px;line-height:1.45;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#app{height:100%}h1,h2,h3,p{margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-weak)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:8px;border:3px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:var(--text-3);background-clip:padding-box;border:3px solid transparent}.boot-screen,.gate{height:100%;display:grid;place-items:center;padding:24px}.boot-spinner{width:34px;height:34px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.gate__card{width:min(420px,100%);background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);padding:40px 32px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}.gate__mark{border-radius:20px;box-shadow:var(--shadow-1)}.gate__title{font-size:26px;font-weight:700;letter-spacing:-.02em}.gate__lead{color:var(--text-2);max-width:32ch}.gate__link{font-size:13px;color:var(--text-3)}.gate__error{font-size:13.5px;font-weight:500;color:var(--danger)}.gate .btn--lg{margin-top:6px}.btn{--spinner: var(--accent);display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 15px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--text);font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .05s ease}.btn:active{transform:translateY(1px)}.btn svg{width:18px;height:18px;flex:none}.btn--sm{padding:7px 12px;font-size:13.5px}.btn--lg{padding:12px 22px;font-size:15px}.btn--primary{--spinner: #fff;background:var(--accent);color:var(--accent-text)}.btn--primary:hover{background:var(--accent-hover)}.btn--soft{background:var(--bg-subtle);border-color:var(--border);color:var(--text)}.btn--soft:hover{background:var(--bg-hover)}.btn--ghost{color:var(--text-2)}.btn--ghost:hover{background:var(--bg-hover);color:var(--text)}.btn--ghost.is-active{color:var(--star)}.btn--ghost.is-menu-open{background:var(--bg-active);color:var(--text)}.btn--danger{--spinner: #fff;background:var(--danger);color:#fff}.btn--danger:hover{background:var(--danger-hover)}.btn--ghost-danger{color:var(--danger)}.btn--ghost-danger:hover{background:var(--danger-weak)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.is-loading{color:transparent!important;position:relative;pointer-events:none}.btn.is-loading svg{opacity:0}.btn.is-loading:after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;border:2px solid transparent;border-top-color:var(--spinner);animation:spin .7s linear infinite}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--text-2);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.icon-btn:hover{background:var(--bg-hover);color:var(--text)}.icon-btn.is-menu-open{background:var(--bg-active);color:var(--text)}.icon-btn svg{width:20px;height:20px}.icon-btn--bordered{border-color:var(--border)}.icon-btn--danger:hover{background:var(--danger-weak);color:var(--danger)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.icon-btn:disabled:hover{background:transparent;color:var(--text-2)}.app-shell{height:100%;display:flex;flex-direction:column}.topbar{height:calc(var(--topbar-h) + env(safe-area-inset-top,0px));flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px;padding-top:env(safe-area-inset-top,0px);border-bottom:1px solid var(--border);background:var(--bg-elev)}.topbar__brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:17px;letter-spacing:-.01em}.topbar__logo{display:inline-flex}.topbar__logo img{width:24px;height:24px;border-radius:6px;display:block}.topbar__actions{display:flex;align-items:center;gap:8px}.layout{flex:1;display:flex;min-height:0}.sidebar{width:var(--sidebar-w);flex:none;border-right:1px solid var(--border);display:flex;flex-direction:column;min-height:0;background:var(--bg)}.sidebar__head{display:flex;gap:8px;padding:12px 12px 8px}.searchbar{position:relative;flex:1;display:flex;align-items:center}.searchbar__icon{position:absolute;left:11px;display:inline-flex;color:var(--text-3);pointer-events:none}.searchbar__icon svg{width:18px;height:18px}.searchbar__input{width:100%;height:38px;padding:0 34px 0 36px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-subtle);color:var(--text);font-size:14px}.searchbar__input::placeholder{color:var(--text-3)}.searchbar__input:focus{outline:none;border-color:var(--accent);background:var(--bg-elev);box-shadow:0 0 0 3px var(--accent-weak)}.searchbar__input::-webkit-search-cancel-button{display:none}.searchbar__clear{position:absolute;right:6px;width:26px;height:26px;border:none;background:transparent;color:var(--text-3);border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.searchbar__clear svg{width:15px;height:15px}.searchbar__clear:hover{background:var(--bg-hover);color:var(--text)}.segmented{display:flex;gap:4px;margin:0 12px 8px;padding:3px;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm)}.segmented__btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px;border:none;background:transparent;color:var(--text-2);font-size:13.5px;font-weight:600;border-radius:6px;cursor:pointer;transition:background .15s ease,color .15s ease}.segmented__btn svg{width:15px;height:15px}.segmented__btn:hover{color:var(--text)}.segmented__btn.is-active{background:var(--bg-elev);color:var(--text);box-shadow:var(--shadow-1)}.select-bar{display:flex;align-items:center;gap:8px;margin:0 12px 8px;padding:4px 4px 4px 6px;background:var(--accent-weak);border-radius:var(--radius-sm)}.select-bar__count{flex:1;font-size:13.5px;font-weight:600;color:var(--text)}.select-bar__actions{display:flex;gap:2px}.select-bar .icon-btn{width:34px;height:34px}.select-bar .icon-btn svg{width:18px;height:18px}.select-all{display:inline-flex;align-items:center;flex:none;padding:5px;border:none;background:transparent;border-radius:8px;cursor:pointer}.select-all:hover .checkbox{border-color:var(--accent)}.checkbox{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:none;border-radius:7px;border:2px solid var(--border-strong);color:#fff;transition:background .12s ease,border-color .12s ease}.checkbox.is-on{background:var(--accent);border-color:var(--accent)}.checkbox svg{width:14px;height:14px}.contact-item--check.is-checked{background:var(--accent-weak)}.sidebar__tags{display:flex;gap:6px;overflow-x:auto;padding:0 12px 10px;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 16px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 16px),transparent)}.sidebar__tags::-webkit-scrollbar{display:none}.chip{display:inline-flex;align-items:center;gap:6px;flex:none;padding:5px 10px;border-radius:999px;border:1px solid var(--border);background:var(--bg-subtle);color:var(--text-2);font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.chip svg{width:13px;height:13px}.chip:hover{background:var(--bg-hover);color:var(--text)}.chip.is-active{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.chip.is-menu-open{box-shadow:inset 0 0 0 1.5px var(--border-strong)}.chip__count{font-size:11px;opacity:.7}.contact-list{flex:1;overflow-y:auto;padding:4px 8px 8px}.list-section{position:sticky;top:0;padding:8px 8px 4px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);background:linear-gradient(var(--bg),var(--bg) 70%,transparent);z-index:1}.contact-item{display:flex;align-items:center;gap:12px;width:100%;padding:9px 10px;margin-bottom:4px;border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;text-align:left;color:inherit;user-select:none;transition:background .12s ease}.contact-item:last-child{margin-bottom:0}.contact-item:hover{background:var(--bg-hover)}.contact-item.is-selected{background:var(--accent-weak)}.contact-item.is-menu-open{background:var(--bg-hover);box-shadow:inset 0 0 0 1.5px var(--border-strong)}.contact-item.is-selected.is-menu-open{background:var(--accent-weak);box-shadow:inset 0 0 0 1.5px var(--accent)}.contact-item__body{min-width:0;flex:1;display:flex;flex-direction:column}.contact-item__name{display:flex;align-items:center;gap:6px;font-weight:600;font-size:14.5px}.contact-item__name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-item.is-selected .contact-item__name{color:var(--accent)}[data-theme=dark] .contact-item.is-selected .contact-item__name{color:var(--text)}.contact-item__fav{display:inline-flex;color:var(--star);flex:none}.contact-item__fav svg{width:13px;height:13px}.contact-item__sub{font-size:12.5px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar__foot{flex:none;padding:9px 16px;border-top:1px solid var(--border);font-size:12px;color:var(--text-3)}.avatar{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:none;border-radius:50%;color:#fff;font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.01em;user-select:none}.avatar--md{width:44px;height:44px;font-size:16px}.avatar--xl{width:84px;height:84px;font-size:30px;box-shadow:var(--shadow-1)}.avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}.list-loading{display:flex;justify-content:center;padding:48px 0}.list-loading__spinner{width:26px;height:26px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--accent);animation:spin .8s linear infinite}.detail__loading{height:100%;display:grid;place-items:center}.list-empty{padding:40px 24px;text-align:center;color:var(--text-2)}.list-empty__title{font-weight:600;color:var(--text);margin-bottom:4px}.list-empty__hint{font-size:13.5px;color:var(--text-3)}.list-empty code{font-size:12px;background:var(--bg-subtle);padding:1px 5px;border-radius:5px}.list-empty__actions{display:flex;gap:8px;justify-content:center;margin-top:16px;flex-wrap:wrap}.detail{flex:1;min-width:0;overflow-y:auto;background:var(--bg-subtle)}.detail__empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:24px;color:var(--text-2)}.detail__empty-art{color:var(--text-3);opacity:.4;margin-bottom:4px}.detail__empty-art svg{width:64px;height:64px}.detail__empty h1{font-size:18px;font-weight:700;color:var(--text)}.detail__empty p{max-width:34ch;font-size:14px}.detail__empty .btn{margin-top:10px}.detail__card{max-width:680px;margin:0 auto;padding:28px 28px 40px}.detail__top{position:relative;display:flex;flex-direction:column;gap:18px;margin-bottom:26px}.detail__back{display:none;align-self:flex-start;width:36px;height:36px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elev);color:var(--text-2);cursor:pointer;align-items:center;justify-content:center}.detail__back svg{width:20px;height:20px}.detail__hero{display:flex;align-items:center;gap:18px}.detail__title{min-width:0}.detail__title h1{font-size:26px;font-weight:700;letter-spacing:-.02em;word-break:break-word}.detail__subtitle{color:var(--text-2);margin-top:2px}.detail__actions{display:flex;gap:8px}.detail__actions .btn{width:40px;height:40px;padding:0;border:1px solid var(--border);background:var(--bg-elev)}.detail__actions .btn svg{width:19px;height:19px}.field-group{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:14px;overflow:hidden}.field{display:flex;align-items:center;gap:14px;padding:12px 14px;position:relative}.field+.field{border-top:1px solid var(--border)}.field__icon{display:inline-flex;color:var(--text-3);flex:none}.field__icon svg{width:19px;height:19px}.field__body{min-width:0;flex:1}.field__value{font-size:15px;word-break:break-word}.field__value a{color:var(--accent)}.field__label{font-size:12px;color:var(--text-3);margin-top:1px}.field__copy{flex:none;width:30px;height:30px;border:none;background:transparent;color:var(--text-3);border-radius:7px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .15s ease,background .15s ease}.field__copy svg{width:16px;height:16px}.field:hover .field__copy,.field:focus-within .field__copy,.field__copy:focus-visible{opacity:1;pointer-events:auto}.field__copy:hover{background:var(--bg-hover);color:var(--text)}@media(hover:none){.field__copy{opacity:1;pointer-events:auto}}.detail__tags{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 14px}.chip--tag{cursor:pointer}.detail__section-title{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);margin:0 0 8px 2px}.detail__meta{font-size:12px;color:var(--text-3);margin-top:8px}.overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:16px}.overlay:before{content:"";position:fixed;inset:0;z-index:-1;background:#0a0e1680;opacity:0;transition:opacity .18s ease}@supports (backdrop-filter: blur(2px)){.overlay:before{backdrop-filter:blur(3px)}}.overlay--in:before{opacity:1}.overlay~.overlay:before{background:#0a0e1652;backdrop-filter:none}body.has-overlay{overflow:hidden}.modal{width:min(560px,100%);max-height:min(90vh,860px);max-height:min(90dvh,860px);display:flex;flex-direction:column;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);transform:translateY(10px) scale(.99);transition:transform .18s ease}.overlay--in .modal{transform:none}.modal--narrow{width:min(460px,100%)}.modal__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 16px 14px 20px;border-bottom:1px solid var(--border)}.modal__head-main{display:flex;align-items:center;gap:12px;min-width:0}.modal__head-icon{display:inline-flex;color:var(--accent)}.modal__head-icon svg{width:22px;height:22px}.modal__head-text{display:flex;flex-direction:column;gap:2px;min-width:0}.editor-avatar{position:relative;border:none;cursor:pointer;overflow:hidden;padding:0}.editor-avatar__badge{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#00000073;color:#fff;opacity:0;transition:opacity .15s ease}.editor-avatar__badge svg{width:18px;height:18px}.editor-avatar:hover .editor-avatar__badge,.editor-avatar:focus-visible .editor-avatar__badge{opacity:1}@media(hover:none){.editor-avatar__badge{opacity:1}}.editor-photo-remove{align-self:flex-start;border:none;background:transparent;color:var(--accent);font-size:12.5px;font-weight:600;padding:0;cursor:pointer}.editor-photo-remove:hover{text-decoration:underline}.modal__title{font-size:17px;font-weight:700}.modal__body{flex:1;overflow-y:auto;padding:18px 20px;display:flex;flex-direction:column;gap:14px}.modal__lead{color:var(--text-2);font-size:14px}.modal__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 20px;border-top:1px solid var(--border)}.modal__foot-right{display:flex;gap:8px}.modal__hint{font-size:12px;color:var(--text-3)}.form-label{font-size:12.5px;font-weight:600;color:var(--text-2)}.field-input{display:flex;flex-direction:column;gap:6px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.input{width:100%;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-subtle);color:var(--text);font-size:14.5px;font-family:inherit}.input::placeholder{color:var(--text-3)}.input:focus{outline:none;border-color:var(--accent);background:var(--bg-elev);box-shadow:0 0 0 3px var(--accent-weak)}.input--error{border-color:var(--danger)}.input--error:focus{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-weak)}textarea.input{resize:vertical;min-height:44px}.checkline{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;margin-top:2px;font-size:12.5px;color:var(--text-2);cursor:pointer;user-select:none}.checkline input{width:15px;height:15px;accent-color:var(--accent);cursor:pointer}.form-group,.repeat{display:flex;flex-direction:column;gap:8px}.repeat-row{display:grid;grid-template-columns:108px 1fr 36px;gap:8px;align-items:start}.input--label{padding:10px 8px;cursor:pointer}.repeat-row__value{min-width:0}.repeat-row__remove{width:36px;height:40px;color:var(--text-3)}.repeat-row__remove:hover{color:var(--danger);background:var(--danger-weak)}.repeat-row__remove svg{width:16px;height:16px}.add-row{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border:none;background:transparent;color:var(--accent);font-size:13.5px;font-weight:600;border-radius:7px;cursor:pointer}.add-row svg{width:15px;height:15px}.add-row:hover{background:var(--accent-weak)}.addresses{display:flex;flex-direction:column;gap:12px}.address-block{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-subtle)}.address-block__head{display:flex;align-items:center;gap:8px}.address-block__head .input{flex:1;background:var(--bg-elev)}.address-block .repeat-row__remove{flex:none}.address-fields{display:flex;flex-direction:column;gap:8px}.address-block .address-fields .input{background:var(--bg-elev)}.address-row{display:grid;gap:8px}.address-row--1{grid-template-columns:1fr}.address-row--2{grid-template-columns:1.2fr 1fr}.form-error{background:var(--danger-weak);color:var(--danger);font-size:13.5px;font-weight:500;padding:10px 12px;border-radius:var(--radius-sm)}.toggle{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;font-weight:500;user-select:none}.toggle input{position:absolute;opacity:0;pointer-events:none}.toggle__track{width:42px;height:25px;border-radius:999px;background:var(--border-strong);position:relative;transition:background .18s ease;flex:none}.toggle__thumb{position:absolute;top:3px;left:3px;width:19px;height:19px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0000004d;transition:transform .18s ease}.toggle input:checked+.toggle__track{background:var(--accent)}.toggle input:checked+.toggle__track .toggle__thumb{transform:translate(17px)}.toggle input:focus-visible+.toggle__track{outline:2px solid var(--accent);outline-offset:2px}.confirm{width:min(400px,100%);background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);padding:24px;transform:translateY(10px) scale(.99);transition:transform .18s ease}.overlay--in .confirm{transform:none}.confirm__title{font-size:18px;font-weight:700}.confirm__msg{color:var(--text-2);margin-top:8px;font-size:14px}.confirm__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.confirm__input{margin-top:14px}.confirm__error{margin-top:10px}.ctx-menu{position:fixed;z-index:200;min-width:196px;max-width:320px;padding:6px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-2);animation:ctx-pop .12s ease}@keyframes ctx-pop{0%{opacity:0;transform:translateY(-4px)}}.ctx-menu__item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 10px;border:none;background:transparent;color:var(--text);font-size:14px;font-weight:500;text-align:left;border-radius:7px;cursor:pointer}.ctx-menu__item:hover:not(:disabled):not([aria-disabled=true]),.ctx-menu__item:focus-visible{background:var(--bg-hover);outline:none}.ctx-menu__item>span:first-child{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ctx-menu__item:disabled,.ctx-menu__item[aria-disabled=true]{color:var(--text-3);cursor:default}.ctx-menu__item--danger{color:var(--danger)}.ctx-menu__item--danger:hover,.ctx-menu__item--danger:focus-visible{background:var(--danger-weak)}.ctx-menu__sep{height:1px;background:var(--border);margin:5px 6px}.ctx-menu__chev{color:var(--text-3)}.ctx-menu__item--has-sub{position:relative}.ctx-menu--sub{position:absolute;left:calc(100% - 4px);top:-6px;display:none}.ctx-menu--sub.ctx-menu--sub-left{left:auto;right:calc(100% - 4px)}.ctx-menu__item--has-sub.is-open>.ctx-menu--sub{display:block}.dropzone{position:fixed;inset:0;z-index:250;display:flex;align-items:center;justify-content:center;padding:24px;background:#0a0e1680;pointer-events:none;animation:dropzone-in .12s ease}@supports (backdrop-filter: blur(2px)){.dropzone{backdrop-filter:blur(3px)}}@keyframes dropzone-in{0%{opacity:0}}.dropzone__card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:30px 42px;text-align:center;color:var(--text);background:var(--bg-elev);border:2px dashed var(--accent);border-radius:var(--radius-lg);box-shadow:var(--shadow-2)}.dropzone__icon{display:flex;color:var(--accent)}.dropzone__icon svg{width:32px;height:32px}.dropzone__title{margin:4px 0 0;font-size:17px;font-weight:650}.dropzone__hint{margin:0;font-size:13px;color:var(--text-3)}.toast-stack{position:fixed;z-index:300;bottom:calc(18px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;padding:0 12px;width:max-content;max-width:calc(100vw - 24px)}.toast{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg-elev);border:1px solid var(--border);border-radius:999px;box-shadow:var(--shadow-2);font-size:14px;font-weight:500;color:var(--text);pointer-events:auto;cursor:pointer;opacity:0;transform:translateY(10px);transition:opacity .2s ease,transform .2s ease}.toast--in{opacity:1;transform:none}.toast__action{flex:none;border:none;background:transparent;color:var(--accent);font-family:inherit;font-size:13.5px;font-weight:700;padding:3px 6px;margin:-2px -2px -2px 2px;border-radius:7px;cursor:pointer}.toast__action:hover{background:var(--accent-weak)}.toast__icon{display:inline-flex;flex:none}.toast__icon svg{width:17px;height:17px}.toast--success .toast__icon{color:var(--success)}.toast--error .toast__icon{color:var(--danger)}.toast--info .toast__icon{color:var(--accent)}.toast--progress{cursor:default}.toast__spinner{flex:none;width:15px;height:15px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--accent);animation:spin .8s linear infinite}.toast__track{flex:none;width:72px;height:5px;border-radius:999px;background:var(--border);overflow:hidden}.toast__track[hidden]{display:none}.toast__bar{display:block;width:0;height:100%;border-radius:inherit;background:var(--accent);transition:width .2s ease}.hide-sm,.hide-xs{display:inline-flex}@media(max-width:820px){.sidebar{width:100%;border-right:none}.detail__back{display:inline-flex}.app-shell[data-mobile=list] .detail,.app-shell[data-mobile=detail] .sidebar{display:none}.detail__card{padding:18px 16px calc(36px + env(safe-area-inset-bottom,0px))}.hide-sm{display:none!important}}@media(max-width:420px){.topbar{padding:0 10px}.hide-xs{display:none!important}.form-row{grid-template-columns:1fr}.detail__title h1{font-size:22px}}@media(pointer:coarse){.input,textarea.input,select.input,.searchbar__input{font-size:16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
