:root{color-scheme:light;--bg: #f6f4ef;--bg-deep: #eeeae0;--surface: #fffdf9;--surface-2: #faf7f0;--text: #1f2a24;--muted: #6f7a72;--soft: #949d96;--line: #e7e1d6;--line-strong: #d8d1c4;--brand: #2f6f54;--brand-dark: #245843;--brand-soft: #e4efe7;--amber: #c9832b;--amber-soft: #fbf0df;--red: #c24b3f;--red-soft: #fbe8e4;--blue: #4a6fa5;--blue-soft: #e8eef7;--shadow-sm: 0 1px 2px rgba(31, 42, 36, .04);--shadow-md: 0 10px 30px rgba(31, 42, 36, .07);--shadow-lg: 0 24px 70px rgba(31, 42, 36, .14);--radius-sm: 12px;--radius: 20px;--radius-lg: 28px;--display: "Iowan Old Style", "Baskerville", "Songti SC", "Noto Serif SC", Georgia, serif;--sans: "Avenir Next", "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", system-ui, -apple-system, sans-serif;--mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;--nav-h: 72px}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;min-width:320px;min-height:100vh;color:var(--text);font-family:var(--sans);font-size:15px;line-height:1.55;background:radial-gradient(1000px 620px at 8% -8%,rgba(230,179,106,.16),transparent 64%),radial-gradient(900px 560px at 100% 0%,rgba(91,140,110,.12),transparent 60%),var(--bg);-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.32;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='.055'/%3E%3C/svg%3E");z-index:-1}#root{min-height:100vh}h1,h2,h3,h4,p{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.62}::selection{background:var(--brand-soft);color:var(--brand-dark)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:40;display:flex;width:252px;flex-direction:column;padding:28px 20px 22px;border-right:1px solid rgba(216,209,196,.7);background:#fffdf9b8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.sidebar-top{padding:2px 8px 0}.brand{display:inline-flex;align-items:center;gap:11px;color:var(--brand)}.brand-mark{display:inline-flex;filter:drop-shadow(0 5px 10px rgba(47,111,84,.18))}.brand-copy{display:flex;flex-direction:column;line-height:1}.brand-copy strong{font-family:var(--display);font-size:25px;font-weight:700;letter-spacing:.06em;color:var(--text)}.brand-copy small{margin-top:5px;font-size:9px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--soft)}.brand-compact .brand-copy strong{font-size:21px}.sidebar-tagline{margin:18px 0 32px;padding-left:2px;color:var(--muted);font-size:12px;line-height:1.8}.sidebar-nav{display:grid;gap:5px}.nav-link{display:flex;align-items:center;gap:11px;height:46px;padding:0 13px;border-radius:13px;color:var(--muted);font-size:14px;font-weight:550;transition:background .18s ease,color .18s ease,transform .18s ease}.nav-link:hover{color:var(--text);background:#e4efe78c;transform:translate(2px)}.nav-link.active{color:var(--brand-dark);background:var(--brand-soft)}.nav-link.active svg{color:var(--brand)}.sidebar-bottom{margin-top:auto;display:grid;gap:12px}.household-switcher{position:relative;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fffdf9cc}.household-kicker{display:block;margin-bottom:5px;color:var(--soft);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.household-switcher strong{display:block;font-size:14px}.household-switcher select{width:100%;height:30px;border:0;border-radius:7px;background:transparent;font-size:14px;font-weight:650;outline:none}.role-tag{display:inline-flex;align-items:center;height:21px;margin-top:7px;padding:0 7px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:10px;font-weight:650}.role-tag.owner{color:var(--brand);background:var(--brand-soft)}.user-card{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid var(--line);border-radius:16px;background:#fffdf9cc}.user-card-copy{min-width:0;flex:1}.user-card-copy strong{display:block;overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.user-card-copy span{display:block;overflow:hidden;color:var(--soft);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.avatar{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;border-radius:50%;font-weight:700;letter-spacing:0}.avatar-sm{width:31px;height:31px;font-size:12px}.avatar-md{width:38px;height:38px;font-size:14px}.avatar-lg{width:48px;height:48px;font-size:17px}.app-main{min-width:0;flex:1;margin-left:252px}.page-shell{width:100%;max-width:1180px;margin:0 auto;padding:42px 42px 90px}.mobile-topbar,.bottom-nav{display:none}.eyebrow{display:inline-flex;align-items:center;gap:6px;color:var(--brand);font-size:11px;font-weight:750;letter-spacing:.09em;text-transform:uppercase}.eyebrow-dot{width:4px;height:4px;margin:0 2px;border-radius:50%;background:var(--amber)}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px}.page-head h1{margin-top:9px;font-family:var(--display);font-size:43px;font-weight:650;letter-spacing:-.035em;line-height:1.08}.title-dot{color:var(--amber)}.page-head p{max-width:620px;margin-top:9px;color:var(--muted);font-size:14px}.compact-head{align-items:flex-start;margin-bottom:22px}.back-link{display:inline-flex;align-items:center;gap:6px;margin-bottom:18px;padding:0;border:0;background:transparent;color:var(--muted);font-size:13px;font-weight:600}.back-link:hover{color:var(--brand)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px}.section-title{display:flex;align-items:center;gap:9px}.section-title h2{font-size:20px;font-weight:700;letter-spacing:-.015em}.count-pill{display:inline-flex;align-items:center;justify-content:center;min-width:23px;height:21px;padding:0 7px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--soft);font-size:11px;font-weight:700}.section-note{color:var(--soft);font-size:11px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:43px;padding:0 18px;border:1px solid transparent;border-radius:999px;font-size:13px;font-weight:650;line-height:1;white-space:nowrap;transition:transform .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease}.btn:not(:disabled):active{transform:translateY(1px)}.btn-primary{color:#fff;background:var(--brand);box-shadow:0 7px 18px #2f6f5433}.btn-primary:not(:disabled):hover{background:var(--brand-dark);box-shadow:0 9px 22px #2f6f5442}.btn-secondary{color:var(--text);border-color:var(--line-strong);background:var(--surface);box-shadow:var(--shadow-sm)}.btn-secondary:not(:disabled):hover{border-color:var(--brand);color:var(--brand-dark)}.btn-ghost{color:var(--muted);background:transparent}.btn-ghost:not(:disabled):hover{color:var(--text);background:var(--surface-2)}.btn-danger{color:#fff;background:var(--red)}.btn-danger-ghost{color:var(--red);border-color:#c24b3f38;background:var(--red-soft)}.btn-danger-ghost:not(:disabled):hover{background:#f8d9d4}.btn-block{width:100%}.btn-sm{height:34px;padding:0 11px;font-size:12px}.icon-button{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:35px;height:35px;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--muted);transition:background .15s ease,color .15s ease}.icon-button:hover{background:var(--surface-2);color:var(--text)}.danger-icon:hover{color:var(--red);background:var(--red-soft)}.field{display:grid;gap:6px;min-width:0}.field-label{color:var(--text);font-size:12px;font-weight:650}.field input,.field select,.field textarea{width:100%;min-height:45px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:#ffffffb8;font-size:14px;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.field textarea{min-height:88px;padding:11px 12px;line-height:1.55;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--brand);background:#fff;box-shadow:0 0 0 3px #2f6f541a}.field input::placeholder,.field textarea::placeholder{color:#b3b9b2}.field-hint{color:var(--soft);font-size:11px;line-height:1.5}.field-error{color:var(--red);font-size:11px}.form-grid{display:grid;gap:14px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-error{padding:10px 12px;border:1px solid rgba(194,75,63,.18);border-radius:11px;background:var(--red-soft);color:var(--red);font-size:12px}.cycle-row{display:grid;grid-template-columns:95px 1fr;gap:8px}.select-wrap{position:relative;display:block}.select-wrap select{appearance:none;padding-right:30px}.select-wrap>svg{position:absolute;top:50%;right:10px;pointer-events:none;transform:translateY(-50%);color:var(--soft)}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0}.switch-row span{display:grid;gap:2px}.switch-row strong{font-size:13px}.switch-row small{color:var(--soft);font-size:11px}.switch-row input[type=checkbox]{width:19px;height:19px;accent-color:var(--brand)}.quick-dates{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:-2px 0 4px}.quick-dates>span{color:var(--soft);font-size:11px}.quick-dates button{height:27px;padding:0 9px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:11px}.quick-dates button:hover{border-color:var(--brand);color:var(--brand)}.quick-dates button.clear{color:var(--red);border-color:#c24b3f2e;background:var(--red-soft)}.advanced-block{border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.advanced-block summary{padding:12px 14px;color:var(--muted);font-size:12px;font-weight:650;cursor:pointer}.advanced-body{display:grid;gap:10px;padding:2px 14px 14px}.inline-form{display:flex;gap:8px}.inline-form input{flex:1}.status-overdue{--status: var(--red);--status-soft: var(--red-soft)}.status-today{--status: var(--amber);--status-soft: var(--amber-soft)}.status-upcoming{--status: var(--blue);--status-soft: var(--blue-soft)}.status-ok{--status: var(--brand);--status-soft: var(--brand-soft)}.status-badge{display:inline-flex;align-items:center;height:21px;padding:0 7px;border-radius:999px;color:var(--status, var(--muted));background:var(--status-soft, var(--surface-2));font-size:10px;font-weight:700;white-space:nowrap}.countdown{font-size:13px;font-weight:700;color:var(--status, var(--muted));white-space:nowrap}.urgent-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--red-soft);color:var(--red);font-size:10px;font-weight:750}.inventory-flag{display:inline-flex;align-items:center;height:18px;margin-left:5px;padding:0 6px;border-radius:999px;background:var(--amber-soft);color:var(--amber);font-size:9px;font-weight:700;vertical-align:1px}.progress-ring{position:relative;display:inline-flex;flex:0 0 auto}.progress-ring svg{overflow:visible;transform:rotate(0)}.ring-track{stroke:#eee9df}.ring-value{stroke:var(--status, var(--brand));transition:stroke-dashoffset .5s ease}.dashboard-head{align-items:flex-start}.dashboard-head-copy{min-width:0}.summary-row{display:flex;flex-wrap:wrap;gap:9px}.summary-card{display:flex;align-items:center;gap:9px;min-width:112px;padding:10px 13px 10px 10px;border:1px solid var(--line);border-radius:15px;background:#fffdf9cc;text-align:left;box-shadow:var(--shadow-sm);transition:transform .15s ease,border-color .15s ease}.summary-card:hover{transform:translateY(-2px);border-color:var(--line-strong)}.summary-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px}.summary-card.overdue .summary-icon{color:var(--red);background:var(--red-soft)}.summary-card.today .summary-icon{color:var(--amber);background:var(--amber-soft)}.summary-card.upcoming .summary-icon{color:var(--blue);background:var(--blue-soft)}.summary-card>span:last-child{display:flex;flex-direction:column;line-height:1.05}.summary-card strong{font-family:var(--display);font-size:21px;font-weight:700}.summary-card small{margin-top:5px;color:var(--soft);font-size:9px;font-weight:650;letter-spacing:.04em;white-space:nowrap}.category-tabs{display:flex;align-items:center;gap:7px;margin:4px 0 26px;padding-bottom:4px;overflow-x:auto;scrollbar-width:none}.category-tabs::-webkit-scrollbar{display:none}.category-tabs button{display:inline-flex;flex:0 0 auto;align-items:center;gap:6px;height:36px;padding:0 13px;border:1px solid var(--line);border-radius:999px;background:#fffdf9b3;color:var(--muted);font-size:12px;font-weight:650;white-space:nowrap;transition:all .16s ease}.category-tabs button:hover{border-color:var(--line-strong);color:var(--text)}.category-tabs button.active{border-color:var(--brand);background:var(--brand);color:#fff;box-shadow:0 6px 14px #2f6f542b}.category-tabs button>span:last-child{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:17px;padding:0 5px;border-radius:999px;background:#6f7a7217;font-size:9px}.category-tabs button.active>span:last-child{background:#ffffff2e}.category-emoji{font-size:13px}.category-tabs .category-add{border-style:dashed;color:var(--soft)}.card-section{margin-top:32px}.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.asset-card{position:relative;overflow:hidden;padding:18px 18px 14px;border:1px solid var(--line);border-radius:23px;background:#fffdf9eb;box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.asset-card:hover{transform:translateY(-3px);border-color:var(--line-strong);box-shadow:var(--shadow-md)}.asset-card.group-attention{border-color:#ecd3cc;background:linear-gradient(180deg,#fbe8e461,#fffdf900 46%),#fffdf9f2}.asset-card.group-attention:before{content:"";position:absolute;top:0;left:22px;width:38px;height:3px;border-radius:0 0 4px 4px;background:var(--red)}.asset-card-head{display:flex;align-items:center;gap:11px}.asset-icon{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--asset-color) 18%,white);border-radius:15px;background:color-mix(in srgb,var(--asset-color) 11%,white);box-shadow:inset 0 1px #ffffffb3}.asset-icon-sm{width:36px;height:36px;font-size:18px}.asset-icon-md{width:48px;height:48px;font-size:23px}.asset-icon-lg{width:76px;height:76px;border-radius:23px;font-size:36px}.asset-card-title{min-width:0;flex:1}.asset-name-line{display:flex;align-items:center;gap:7px}.asset-name-line h3{overflow:hidden;font-size:16px;font-weight:700;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap}.asset-card-title p{overflow:hidden;margin-top:3px;color:var(--soft);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.asset-chevron{flex:0 0 auto;color:#c2c8c1}.asset-task-list{margin-top:13px;border-top:1px solid rgba(231,225,214,.8)}.asset-task-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid rgba(231,225,214,.55)}.asset-task-row:last-of-type{border-bottom:0}.asset-task-copy{min-width:0}.asset-task-copy strong{display:block;overflow:hidden;font-size:13px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.asset-task-copy>span{display:block;overflow:hidden;margin-top:1px;color:var(--soft);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.quick-done{display:inline-flex;align-items:center;gap:4px;height:29px;padding:0 9px;border:1px solid color-mix(in srgb,var(--status) 16%,white);border-radius:999px;background:var(--status-soft);color:var(--status);font-size:10px;font-weight:700;white-space:nowrap;transition:transform .14s ease,filter .14s ease}.quick-done:hover{filter:brightness(.97);transform:translateY(-1px)}.asset-task-empty{padding:16px 0;color:var(--soft);font-size:12px}.asset-task-more{padding:8px 0 2px;color:var(--soft);font-size:10px;text-align:center}.asset-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;padding-top:9px;border-top:1px dashed rgba(216,209,196,.7);color:var(--soft);font-size:10px}.card-open{display:inline-flex;align-items:center;gap:4px;color:var(--brand);font-weight:650}.recent-section{margin-top:38px}.recent-list{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fffdf9cc}.recent-item{display:flex;align-items:center;gap:10px;padding:11px 15px;border-bottom:1px solid rgba(231,225,214,.6)}.recent-item:last-child{border-bottom:0}.recent-copy{display:flex;min-width:0;flex:1;flex-direction:column}.recent-copy strong{font-size:12px}.recent-copy span{overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.recent-item time{flex:0 0 auto;color:var(--soft);font-size:10px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:280px;padding:36px 20px;border:1px dashed var(--line-strong);border-radius:25px;background:#fffdf985;text-align:center}.empty-illustration{display:flex;align-items:center;justify-content:center;width:70px;height:70px;margin-bottom:15px;border:1px solid var(--line);border-radius:24px;background:var(--surface);color:var(--brand);box-shadow:var(--shadow-sm)}.empty-state h3{font-family:var(--display);font-size:24px;font-weight:650}.empty-state p{max-width:360px;margin-top:7px;color:var(--muted);font-size:12px}.empty-action{margin-top:18px}.error-panel{display:flex;align-items:center;gap:11px;margin-bottom:18px;padding:12px 14px;border:1px solid rgba(194,75,63,.16);border-radius:14px;background:var(--red-soft);color:var(--red)}.error-panel>div{display:flex;flex:1;flex-direction:column}.error-panel strong{font-size:12px}.error-panel span{font-size:11px}.detail-hero{position:relative;margin-bottom:27px;padding:28px;border:1px solid var(--line);border-radius:var(--radius-lg);background:radial-gradient(600px 260px at 100% 0%,rgba(230,179,106,.12),transparent 70%),#fffdf9e6;box-shadow:var(--shadow-sm)}.detail-hero-main{display:flex;align-items:center;gap:18px;padding-right:48px}.device-menu-wrap{position:absolute;top:18px;right:18px;z-index:8}.device-menu-button{width:38px;height:38px;border:1px solid var(--line);background:#fffdf9eb;box-shadow:var(--shadow-sm)}.device-menu-button:hover{border-color:var(--line-strong);background:#fff}.device-menu-backdrop{position:fixed;inset:0;z-index:20;padding:0;border:0;background:#1a221d29;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);cursor:default}.device-menu{position:absolute;top:45px;right:0;z-index:21;display:grid;width:228px;padding:6px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 18px 45px #1f2a2429;animation:modal-in .16s ease}.device-menu:before{content:"";position:absolute;top:-6px;right:15px;width:11px;height:11px;border-top:1px solid var(--line);border-left:1px solid var(--line);background:var(--surface);transform:rotate(45deg)}.device-menu-item{display:flex;align-items:center;gap:9px;padding:9px;border:0;border-radius:10px;background:transparent;text-align:left}.device-menu-item:hover{background:var(--surface-2)}.device-menu-item>span:nth-child(2){display:flex;min-width:0;flex-direction:column}.device-menu-item strong{font-size:12px}.device-menu-item small{color:var(--soft);font-size:9px}.device-menu-icon{display:inline-flex;align-items:center;justify-content:center;width:31px;height:31px;flex:0 0 auto;border-radius:9px;background:var(--surface-2);color:var(--brand)}.device-menu-sep{height:1px;margin:4px 6px;background:var(--line)}.device-menu-item.danger strong,.device-menu-item.danger .device-menu-icon{color:var(--red)}.device-menu-item.danger .device-menu-icon,.device-menu-item.danger:hover{background:var(--red-soft)}.detail-title{min-width:0}.detail-title h1{margin-top:5px;font-family:var(--display);font-size:38px;font-weight:650;letter-spacing:-.03em;line-height:1.1}.detail-title p{margin-top:6px;color:var(--muted);font-size:12px}.detail-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:22px}.archive-button{margin-left:auto}.detail-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:20px;padding-top:16px;border-top:1px solid rgba(231,225,214,.8);color:var(--soft);font-size:11px}.detail-meta span{display:inline-flex;align-items:center;gap:5px}.detail-notes{margin-top:15px;padding:11px 14px;border-radius:12px;background:var(--surface-2);color:var(--muted);font-size:12px}.recommend-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px;padding:15px 17px;border:1px solid #eadbc2;border-radius:18px;background:linear-gradient(110deg,#fbf0dfe6,#fffdf9b3)}.recommend-banner-copy{display:flex;align-items:center;gap:11px;min-width:0}.recommend-spark{display:inline-flex;align-items:center;justify-content:center;width:37px;height:37px;flex:0 0 auto;border-radius:12px;background:#fff;color:var(--amber);box-shadow:var(--shadow-sm)}.recommend-banner-copy strong{display:block;font-size:12px}.recommend-banner-copy p{overflow:hidden;margin-top:2px;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.task-list{display:grid;gap:10px}.task-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 18px;border:1px solid var(--line);border-radius:19px;background:#fffdf9e6;box-shadow:var(--shadow-sm);transition:border-color .16s ease,box-shadow .16s ease}.task-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-md)}.task-card.status-overdue{border-left:4px solid var(--red)}.task-card.status-today{border-left:4px solid var(--amber)}.task-card.status-upcoming{border-left:4px solid var(--blue)}.task-card.status-ok{border-left:4px solid transparent}.task-card-main{display:flex;align-items:center;gap:13px;min-width:0}.task-card-copy{min-width:0}.task-card-title{display:flex;align-items:center;gap:6px}.task-card-title strong{font-size:14px;font-weight:700}.task-card-copy>p{margin-top:3px;color:var(--soft);font-size:10px}.task-card-copy>p span{color:var(--soft)}.task-note{max-width:500px;margin-top:5px!important;color:var(--muted)!important;font-size:11px!important}.task-card-side{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}.due-label{color:var(--soft);font-size:9px}.task-card-actions{display:flex;align-items:center;gap:5px;margin-top:4px}.history-section{margin-top:34px}.history-list{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fffdf9d1}.history-item{display:flex;align-items:flex-start;gap:10px;padding:13px 16px;border-bottom:1px solid rgba(231,225,214,.6)}.history-item:last-child{border-bottom:0}.history-copy{min-width:0;flex:1}.history-copy p{font-size:12px}.history-copy p strong{font-weight:700}.history-copy span{display:block;margin-top:2px;color:var(--muted);font-size:10px}.history-item time{flex:0 0 auto;color:var(--soft);font-size:10px}.history-empty{padding:24px;border:1px dashed var(--line-strong);border-radius:17px;color:var(--soft);font-size:12px;text-align:center}.danger-zone{margin-top:28px;padding-top:18px;border-top:1px solid var(--line)}.text-danger{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:transparent;color:var(--soft);font-size:11px}.text-danger:hover{color:var(--red)}.mode-switch{display:inline-flex;gap:4px;margin-bottom:24px;padding:4px;border:1px solid var(--line);border-radius:999px;background:#fffdf9b3}.mode-switch button{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 13px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:12px;font-weight:650}.mode-switch button.active{background:var(--brand);color:#fff;box-shadow:0 5px 12px #2f6f5429}.template-section{max-width:940px}.template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.template-card{display:flex;align-items:flex-start;gap:10px;min-height:126px;padding:15px;border:1px solid var(--line);border-radius:19px;background:#fffdf9e0;text-align:left;box-shadow:var(--shadow-sm);transition:transform .17s ease,border-color .17s ease,box-shadow .17s ease}.template-card:hover{transform:translateY(-3px);border-color:var(--brand);box-shadow:var(--shadow-md)}.template-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 auto;border:1px solid var(--line);border-radius:13px;background:var(--surface-2);font-size:20px}.template-copy{display:flex;min-width:0;flex:1;flex-direction:column}.template-copy strong{font-size:14px;font-weight:700}.template-copy small{display:-webkit-box;overflow:hidden;margin-top:3px;color:var(--muted);font-size:10px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.template-meta{margin-top:auto;padding-top:8px;color:var(--soft);font-size:9px;font-weight:650;letter-spacing:.03em}.template-arrow{margin-top:2px;color:#c2c8c1}.add-editor{max-width:900px}.editor-card{padding:24px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fffdf9e6;box-shadow:var(--shadow-sm)}.editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.editor-head h2{margin-top:5px;font-family:var(--display);font-size:28px;font-weight:650}.editor-head p{margin-top:4px;color:var(--muted);font-size:11px}.icon-input-row{display:flex;align-items:center;gap:9px}.icon-preview{display:inline-flex;align-items:center;justify-content:center;width:45px;height:45px;flex:0 0 auto;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);font-size:21px}.draft-list{display:grid;gap:7px;margin:18px 0}.draft-row{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid var(--line);border-radius:14px;background:#ffffff80;transition:opacity .15s ease,border-color .15s ease}.draft-row.disabled{opacity:.48}.draft-row:hover{border-color:var(--line-strong)}.check-button{display:inline-flex;align-items:center;justify-content:center;width:21px;height:21px;flex:0 0 auto;border:1.5px solid var(--line-strong);border-radius:7px;background:#fff;color:#fff}.check-button.checked{border-color:var(--brand);background:var(--brand)}.draft-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex:0 0 auto;border-radius:10px;background:var(--surface-2);font-size:16px}.draft-copy{display:flex;min-width:0;flex:1;flex-direction:column}.draft-copy strong{font-size:12px}.draft-copy span{color:var(--soft);font-size:10px}.draft-cycle{display:flex;align-items:center;gap:5px;flex:0 0 auto}.draft-cycle input{width:48px;height:33px;padding:0 6px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:12px;text-align:center}.draft-cycle .select-wrap select{width:62px;height:33px;padding:0 6px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:11px}.draft-cycle .select-wrap>svg{right:6px}.editor-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.editor-summary{color:var(--muted);font-size:11px}.editor-summary strong{color:var(--brand);font-size:15px}.custom-icon-row{display:flex;align-items:center;gap:13px;margin-bottom:14px}.custom-icon-fields{width:90px}.first-task-block{margin-top:18px;padding:15px;border:1px dashed var(--line-strong);border-radius:16px;background:var(--surface-2)}.first-task-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px}.first-task-head strong{font-size:13px}.first-task-head span{color:var(--soft);font-size:10px}.me-card{display:flex;align-items:center;gap:12px;margin-bottom:18px;padding:15px 17px;border:1px solid var(--line);border-radius:20px;background:radial-gradient(420px 160px at 100% 0%,rgba(230,179,106,.12),transparent 70%),#fffdf9db;box-shadow:var(--shadow-sm)}.me-copy{display:flex;min-width:0;flex:1;flex-direction:column}.me-copy strong{font-family:var(--display);font-size:22px;font-weight:650;line-height:1.2}.me-copy span{overflow:hidden;color:var(--soft);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.me-copy small{margin-top:3px;color:var(--muted);font-size:10px}.me-badge{display:inline-flex;flex:0 0 auto;align-items:center;height:23px;padding:0 8px;border-radius:999px;background:var(--brand-soft);color:var(--brand);font-size:9px;font-weight:700}.me-badge.admin{background:var(--amber-soft);color:var(--amber)}.settings-tabs{display:flex;gap:4px;margin-bottom:22px;padding:4px;border:1px solid var(--line);border-radius:999px;background:#fffdf9b3;overflow-x:auto;scrollbar-width:none}.settings-tabs::-webkit-scrollbar{display:none}.settings-tabs button{display:inline-flex;flex:0 0 auto;align-items:center;gap:6px;height:33px;padding:0 13px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:12px;font-weight:650}.settings-tabs button.active{background:var(--brand);color:#fff;box-shadow:0 5px 12px #2f6f5429}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.settings-stack{display:grid;gap:16px}.settings-card{padding:22px;border:1px solid var(--line);border-radius:22px;background:#fffdf9e0;box-shadow:var(--shadow-sm)}.settings-lead{margin:3px 0 16px;color:var(--muted);font-size:12px;line-height:1.7}.settings-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px}.settings-card .form-grid+.form-grid{margin-top:12px}.invite-box{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border:1px solid #d8e7dc;border-radius:14px;background:var(--brand-soft)}.invite-box>div:first-child{display:flex;flex-direction:column}.invite-box span{color:var(--brand);font-size:10px;font-weight:650}.invite-box strong{margin-top:2px;font-family:var(--mono);font-size:19px;letter-spacing:.08em}.invite-actions{display:flex;gap:5px}.member-list{display:grid;gap:2px;margin-top:14px}.member-row{display:flex;align-items:center;gap:9px;padding:9px 2px;border-bottom:1px solid rgba(231,225,214,.6)}.member-row:last-child{border-bottom:0}.member-copy{display:flex;min-width:0;flex:1;flex-direction:column}.member-copy strong{font-size:12px}.member-copy span{overflow:hidden;color:var(--soft);font-size:10px;text-overflow:ellipsis}.you-tag{display:inline-flex;align-items:center;height:17px;margin-left:4px;padding:0 5px;border-radius:999px;background:var(--brand-soft);color:var(--brand);font-size:9px;font-weight:700;vertical-align:1px}.join-box{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.channel-empty{display:flex;align-items:center;gap:11px;padding:13px;border:1px dashed var(--line-strong);border-radius:14px;background:var(--surface-2);color:var(--muted)}.channel-empty>div{display:flex;flex:1;flex-direction:column}.channel-empty strong{color:var(--text);font-size:12px}.channel-empty span{color:var(--soft);font-size:10px}.channel-list{display:grid;gap:8px}.channel-card{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:15px;background:#ffffff73}.channel-card.disabled{opacity:.58}.channel-icon{display:inline-flex;align-items:center;justify-content:center;width:37px;height:37px;flex:0 0 auto;border-radius:11px;background:var(--brand-soft);color:var(--brand)}.channel-copy{display:flex;min-width:0;flex:1;flex-direction:column}.channel-name-line{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.channel-name-line strong{font-size:12px}.channel-type{color:var(--soft);font-size:9px}.default-tag,.off-tag,.system-tag,.admin-mini{display:inline-flex;align-items:center;height:17px;padding:0 5px;border-radius:999px;font-size:9px;font-weight:700}.default-tag{background:var(--brand-soft);color:var(--brand)}.off-tag{background:var(--red-soft);color:var(--red)}.system-tag{background:var(--blue-soft);color:var(--blue)}.admin-mini{background:var(--amber-soft);color:var(--amber)}.channel-summary{overflow:hidden;margin-top:2px;color:var(--soft);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.channel-actions{display:flex;flex:0 0 auto;align-items:center;gap:2px}.channel-actions .btn{height:29px;padding:0 7px;font-size:10px}.rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.rule-item{display:flex;align-items:flex-start;gap:9px;padding:11px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2);color:var(--brand)}.rule-item>div{display:flex;flex-direction:column}.rule-item strong{color:var(--text);font-size:11px}.rule-item span{color:var(--soft);font-size:10px}.category-list{display:grid;gap:2px}.category-row{display:flex;align-items:center;gap:9px;padding:10px 4px;border-bottom:1px solid rgba(231,225,214,.6)}.category-row:last-child{border-bottom:0}.category-color{width:5px;height:28px;flex:0 0 auto;border-radius:999px}.category-icon{display:inline-flex;align-items:center;justify-content:center;width:33px;height:33px;flex:0 0 auto;border-radius:10px;background:var(--surface-2);font-size:16px}.category-copy{display:flex;min-width:0;flex:1;flex-direction:column}.category-copy strong{font-size:12px}.category-copy span{color:var(--soft);font-size:10px}.ics-box{display:flex;align-items:flex-start;gap:9px;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2);color:var(--brand)}.ics-box code{overflow-wrap:anywhere;color:var(--muted);font-family:var(--mono);font-size:10px;line-height:1.6}.setup-steps{display:grid;gap:11px;margin:0;padding:0;list-style:none;counter-reset:step}.setup-steps li{position:relative;display:grid;gap:2px;padding-left:30px;counter-increment:step}.setup-steps li:before{content:counter(step);position:absolute;top:0;left:0;display:flex;align-items:center;justify-content:center;width:21px;height:21px;border-radius:7px;background:var(--brand-soft);color:var(--brand);font-size:10px;font-weight:700}.setup-steps strong{font-size:12px}.setup-steps span{color:var(--muted);font-size:11px;line-height:1.6}.notice-box{display:flex;align-items:flex-start;gap:8px;margin-top:16px;padding:11px;border-radius:12px;background:var(--amber-soft);color:#8b672e;font-size:10px;line-height:1.6}.modal-backdrop{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:22px;background:#1a221d6b;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fade-in .18s ease}.modal{display:flex;width:min(560px,100%);max-height:min(88vh,780px);flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.6);border-radius:25px;background:var(--surface);box-shadow:var(--shadow-lg);animation:modal-in .22s cubic-bezier(.2,.8,.2,1)}.modal-wide{width:min(740px,100%)}.modal-handle{display:none}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 22px 10px}.modal-head h2{font-family:var(--display);font-size:25px;font-weight:650;letter-spacing:-.02em}.modal-head p{margin-top:3px;color:var(--muted);font-size:11px}.modal-body{display:grid;gap:13px;overflow-y:auto;padding:8px 22px 22px}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 22px calc(18px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface)}.confirm-copy{display:flex;align-items:flex-start;gap:11px;padding:4px 0 6px}.confirm-icon{display:inline-flex;align-items:center;justify-content:center;width:37px;height:37px;flex:0 0 auto;border-radius:12px;background:var(--brand-soft);color:var(--brand)}.confirm-copy.danger .confirm-icon{background:var(--red-soft);color:var(--red)}.confirm-copy p{color:var(--muted);font-size:13px;line-height:1.7}.action-menu{display:grid;gap:6px}.action-menu-item{display:flex;align-items:center;gap:11px;padding:11px;border:1px solid var(--line);border-radius:14px;background:#ffffff73;text-align:left}.action-menu-item:hover{border-color:var(--brand);background:var(--brand-soft)}.action-menu-item>span:nth-child(2){display:flex;min-width:0;flex:1;flex-direction:column}.action-menu-item strong{font-size:12px}.action-menu-item small{color:var(--soft);font-size:10px}.action-menu-item>svg{color:#c2c8c1}.action-menu-item.danger strong{color:var(--red)}.action-menu-item.danger:hover{border-color:#c24b3f4d;background:var(--red-soft)}.action-menu-icon{display:inline-flex;align-items:center;justify-content:center;width:35px;height:35px;flex:0 0 auto;border-radius:11px;background:var(--surface-2);color:var(--brand)}.action-menu-item.danger .action-menu-icon{color:var(--red);background:var(--red-soft)}.editor-tabs{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2)}.editor-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:32px;flex:1;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:12px;font-weight:650}.editor-tabs button.active{background:var(--surface);color:var(--brand);box-shadow:var(--shadow-sm)}.recommend-editor{display:grid;gap:7px}.recommend-hint{color:var(--muted);font-size:11px}.task-form{display:grid;gap:12px}.channel-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.channel-type-card{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:11px;border:1px solid var(--line);border-radius:13px;background:#fff6;color:var(--muted);text-align:left}.channel-type-card strong{font-size:11px;color:var(--text)}.channel-type-card span{color:var(--soft);font-size:9px}.channel-type-card.active{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.category-preview{display:flex;align-items:center;gap:10px;padding:13px;border:1px solid var(--line);border-radius:14px}.category-preview span{font-size:22px}.category-preview strong{flex:1;font-size:14px}.category-preview i{width:10px;height:10px;border-radius:50%}.color-row{display:flex;gap:8px}.color-row input[type=color]{width:48px;padding:4px}.color-row input[type=text],.color-row input:not([type]){flex:1}.toast{position:fixed;bottom:25px;left:50%;z-index:200;display:flex;align-items:center;gap:9px;max-width:min(480px,calc(100vw - 28px));padding:10px 12px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:#1f2a24;color:#f9f7f1;box-shadow:0 18px 45px #141d1847;font-size:12px;transform:translate(-50%);animation:toast-in .24s cubic-bezier(.2,.8,.2,1)}.toast-icon{display:inline-flex;flex:0 0 auto;color:#a7d8bd}.toast-icon.is-info{color:#e6b36a}.toast-message{min-width:0;flex:1}.toast-action{flex:0 0 auto;height:27px;padding:0 8px;border:1px solid rgba(230,179,106,.35);border-radius:999px;background:#e6b36a29;color:#f2cd97;font-size:10px;font-weight:700}.toast-close{display:inline-flex;align-items:center;justify-content:center;width:23px;height:23px;border:0;border-radius:50%;background:transparent;color:#ffffff80}.auth-page{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);min-height:100vh}.auth-hero{position:relative;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:54px 7vw 46px}.auth-hero:before{content:"";position:absolute;top:-18%;right:-10%;width:520px;height:520px;border:1px solid rgba(47,111,84,.12);border-radius:50%}.auth-hero:after{content:"";position:absolute;bottom:-28%;left:-12%;width:420px;height:420px;border:1px solid rgba(230,179,106,.16);border-radius:50%}.auth-hero>*{position:relative;z-index:1}.auth-hero-copy{max-width:600px;margin-top:52px}.auth-hero h1{margin-top:17px;font-family:var(--display);font-size:clamp(42px,5.2vw,66px);font-weight:650;letter-spacing:-.045em;line-height:1.04}.auth-hero h1 em{color:var(--brand);font-style:normal}.auth-hero-copy>p{max-width:500px;margin-top:20px;color:var(--muted);font-size:14px;line-height:1.8}.hero-preview{width:min(390px,100%);margin:38px 0 28px;padding:17px;border:1px solid var(--line);border-radius:21px;background:#fffdf9db;box-shadow:0 18px 45px #1f2a241a;transform:rotate(-1.4deg);transition:transform .25s ease}.hero-preview:hover{transform:rotate(0)}.hero-preview-head{display:flex;align-items:center;gap:10px}.hero-preview-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:13px;background:#e9f1f8;font-size:20px}.hero-preview-head>div{display:flex;flex:1;flex-direction:column}.hero-preview-head strong{font-size:13px}.hero-preview-head span{color:var(--soft);font-size:9px}.hero-preview-status{display:inline-flex;height:20px;align-items:center;padding:0 7px;border-radius:999px;background:var(--amber-soft);color:var(--amber);font-size:9px;font-weight:700}.hero-preview-task{display:flex;align-items:center;justify-content:space-between;margin-top:13px;font-size:11px}.hero-preview-task strong{color:var(--red);font-size:12px}.hero-preview-task.muted{margin-top:9px;color:var(--soft);font-size:10px}.hero-preview-bar{height:5px;margin-top:7px;overflow:hidden;border-radius:999px;background:var(--surface-2)}.hero-preview-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--amber),#e3ad62)}.hero-features{display:flex;flex-wrap:wrap;gap:7px}.hero-features span{display:inline-flex;align-items:center;gap:5px;height:29px;padding:0 9px;border:1px solid rgba(216,209,196,.8);border-radius:999px;background:#fffdf98c;color:var(--muted);font-size:10px}.auth-panel{display:flex;align-items:center;justify-content:center;padding:34px;border-left:1px solid rgba(216,209,196,.65);background:#fffdf96b;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.auth-card{width:min(430px,100%);padding:33px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fffdf9f5;box-shadow:0 24px 70px #1f2a2417}.auth-card-head{margin-bottom:22px}.auth-kicker{display:block;margin-bottom:6px;color:var(--brand);font-size:10px;font-weight:750;letter-spacing:.14em;text-transform:uppercase}.auth-card-head h2{font-family:var(--display);font-size:33px;font-weight:650;letter-spacing:-.03em}.auth-card-head p{margin-top:5px;color:var(--muted);font-size:12px}.auth-mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-bottom:16px;padding:4px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2)}.auth-mode-switch button{height:32px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:11px;font-weight:650}.auth-mode-switch button.active{background:var(--brand-soft);color:var(--brand-dark);box-shadow:var(--shadow-sm);font-weight:750}.code-row{display:flex;gap:8px}.code-row input{flex:1;min-width:0;letter-spacing:.18em;font-family:var(--mono);font-size:16px}.code-send{flex:0 0 auto;min-width:96px;height:45px;padding:0 12px;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface);color:var(--brand);font-size:11px;font-weight:700;white-space:nowrap}.code-send:disabled{color:var(--soft);border-color:var(--line);background:var(--surface-2)}.form-notice{padding:10px 12px;border:1px solid rgba(47,111,84,.16);border-radius:11px;background:var(--brand-soft);color:var(--brand-dark);font-size:12px}.auth-form{display:grid;gap:13px}.auth-form .btn-block{margin-top:3px}.demo-login{display:flex;align-items:center;gap:7px;width:100%;margin-top:11px;padding:10px 11px;border:1px dashed var(--line-strong);border-radius:12px;background:var(--surface-2);color:var(--muted);font-size:11px;text-align:left}.demo-login:hover{border-color:var(--amber);color:var(--text)}.demo-badge{display:inline-flex;height:18px;align-items:center;padding:0 6px;border-radius:999px;background:var(--amber-soft);color:var(--amber);font-size:9px;font-weight:700}.demo-login svg{margin-left:auto}.auth-switch{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:18px;color:var(--soft);font-size:11px}.auth-switch a{display:inline-flex;align-items:center;gap:3px;color:var(--brand);font-weight:700}.auth-fineprint{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:18px;color:var(--soft);font-size:9px}.register-steps{display:grid;gap:10px;max-width:480px;margin-top:40px}.register-step{display:flex;align-items:flex-start;gap:11px;padding:11px 13px;border:1px solid rgba(216,209,196,.7);border-radius:14px;background:#fffdf980}.register-step>span{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;flex:0 0 auto;border-radius:8px;background:var(--brand-soft);color:var(--brand);font-size:9px;font-weight:750}.register-step strong{display:block;font-size:12px}.register-step p{margin-top:2px;color:var(--muted);font-size:10px}.register-trust{display:flex;flex-wrap:wrap;gap:9px 14px;margin-top:16px;color:var(--soft);font-size:10px}.register-trust span{display:inline-flex;align-items:center;gap:4px}.admin-badge{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--brand);font-size:10px;font-weight:700}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}.stat-card{display:flex;flex-direction:column;padding:15px;border:1px solid var(--line);border-radius:17px;background:#fffdf9db;box-shadow:var(--shadow-sm)}.stat-icon{display:inline-flex;align-items:center;justify-content:center;width:33px;height:33px;margin-bottom:10px;border-radius:10px}.stat-icon.green{color:var(--brand);background:var(--brand-soft)}.stat-icon.blue{color:var(--blue);background:var(--blue-soft)}.stat-icon.amber{color:var(--amber);background:var(--amber-soft)}.stat-icon.red{color:var(--red);background:var(--red-soft)}.stat-card>strong{font-family:var(--display);font-size:28px;font-weight:700;line-height:1}.stat-card>span:not(.stat-icon){margin-top:4px;color:var(--muted);font-size:11px}.stat-card small{margin-top:7px;color:var(--soft);font-size:9px}.admin-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.log-list{display:grid;gap:2px}.log-row{display:flex;align-items:flex-start;gap:8px;padding:9px 2px;border-bottom:1px solid rgba(231,225,214,.6)}.log-row:last-child{border-bottom:0}.log-dot{width:7px;height:7px;margin-top:5px;flex:0 0 auto;border-radius:50%}.log-dot.sent{background:var(--brand)}.log-dot.failed{background:var(--red)}.log-dot.skipped{background:var(--soft)}.log-copy{display:flex;min-width:0;flex:1;flex-direction:column}.log-copy strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.log-copy span{color:var(--soft);font-size:9px}.log-copy small{margin-top:2px;color:var(--red);font-size:9px}.status-text{font-size:10px;font-weight:700}.status-text.sent{color:var(--brand)}.status-text.failed{color:var(--red)}.status-text.skipped{color:var(--soft)}.table-wrap{overflow-x:auto;margin:4px -4px 0}.data-table{width:100%;border-collapse:collapse;font-size:11px;text-align:left}.data-table th{padding:9px 8px;border-bottom:1px solid var(--line);color:var(--soft);font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.data-table td{padding:10px 8px;border-bottom:1px solid rgba(231,225,214,.55);vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#e4efe740}.table-user{display:flex;align-items:center;gap:8px}.table-user>div{display:flex;min-width:0;flex-direction:column}.table-user strong{font-size:11px}.table-user span{color:var(--soft);font-size:9px}.cell-sub{display:block;color:var(--soft);font-size:9px}.error-cell{max-width:240px;color:var(--red);font-size:9px;overflow-wrap:anywhere}.nowrap{white-space:nowrap}.search-box{display:flex;align-items:center;gap:4px;height:33px;padding:0 4px 0 9px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--soft)}.search-box input{width:150px;height:27px;border:0;background:transparent;font-size:11px;outline:none}.segmented{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2)}.segmented button{height:25px;padding:0 8px;border:0;border-radius:999px;background:transparent;color:var(--soft);font-size:9px;font-weight:650}.segmented button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.admin-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.admin-template-card{padding:13px;border:1px solid var(--line);border-radius:15px;background:#ffffff6b}.admin-template-head{display:flex;align-items:center;gap:8px}.admin-template-head>div{display:flex;min-width:0;flex:1;flex-direction:column}.admin-template-head strong{font-size:12px}.admin-template-head span{color:var(--soft);font-size:9px}.template-item-chips{display:flex;flex-wrap:wrap;gap:4px;margin:9px 0}.template-item-chips span{padding:2px 6px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:9px}.admin-template-actions{display:flex;justify-content:flex-end;gap:3px}.code-input{font-family:var(--mono)!important;font-size:11px!important;line-height:1.55!important}.page-loading{display:flex;align-items:center;justify-content:center;gap:9px;min-height:50vh;color:var(--muted);font-size:12px}.page-loading.small{min-height:120px}.page-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:55vh;text-align:center}.page-error>svg{color:var(--soft)}.page-error h1,.page-error h2{margin-top:13px;font-family:var(--display);font-size:30px;font-weight:650}.page-error p{margin:6px 0 18px;color:var(--muted);font-size:12px}.notfound-icon{display:inline-flex;align-items:center;justify-content:center;width:76px;height:76px;border-radius:24px;background:var(--brand-soft);color:var(--brand)}.splash{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;min-height:100vh;color:var(--muted);font-size:12px}.splash .brand{margin-bottom:2px}.splash .spinner,.spin{animation:spin .9s linear infinite}.skeleton{display:block;border-radius:8px;background:linear-gradient(90deg,#eee9df 25%,#f7f4ed 37%,#eee9df 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite}.skeleton-card{min-height:185px;cursor:default}.skeleton-icon{width:48px;height:48px;border-radius:15px}.skeleton-lines{display:grid;gap:6px;flex:1}.skeleton-line{width:60%;height:11px}.skeleton-line.short{width:35%;height:15px}.skeleton-row{height:44px;margin-top:9px;border-radius:10px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:1080px){.page-shell{padding:34px 28px 80px}.auth-hero{padding-left:5vw;padding-right:5vw}}@media(max-width:920px){.sidebar{display:none}.app-main{margin-left:0}.mobile-topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;height:63px;padding:0 18px;border-bottom:1px solid rgba(216,209,196,.6);background:#f6f4efd6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.mobile-topbar-right{display:flex;align-items:center;gap:9px}.mobile-household{max-width:120px;overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.page-shell{padding:24px 18px calc(var(--nav-h) + 28px + env(safe-area-inset-bottom))}.bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:30;display:grid;grid-template-columns:repeat(2,minmax(0,118px));justify-content:center;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding:6px 14px env(safe-area-inset-bottom);border-top:1px solid rgba(216,209,196,.7);background:#fffdf9e6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bottom-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--soft);font-size:9px;font-weight:650}.bottom-link svg{color:var(--soft)}.bottom-link.active{color:var(--brand)}.bottom-link.active svg{color:var(--brand)}.topbar-add{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--brand);color:#fff;box-shadow:0 5px 12px #2f6f5433}.topbar-add:active{background:var(--brand-dark)}.dashboard-head{flex-direction:column;gap:18px}.summary-row{width:100%}.summary-card{flex:1;min-width:0}.card-grid,.settings-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid{grid-template-columns:1fr}.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-page{grid-template-columns:1fr;min-height:auto}.auth-hero{padding:30px 22px 26px}.auth-hero-copy{margin-top:34px}.auth-hero h1{font-size:clamp(38px,10vw,52px)}.hero-preview{margin:26px 0 20px}.auth-panel{padding:0 16px 32px;border-left:0;background:transparent}.auth-card{padding:26px;border-radius:24px}.register-steps{margin-top:28px}.register-hero .register-steps{display:none}.toast{bottom:calc(var(--nav-h) + 15px + env(safe-area-inset-bottom))}.modal-backdrop{align-items:flex-end;padding:0}.modal{width:100%;max-height:92vh;border-radius:24px 24px 0 0;animation:modal-up .25s cubic-bezier(.2,.8,.2,1)}.modal-wide{width:100%}.modal-handle{display:block;width:38px;height:4px;margin:8px auto 0;border-radius:999px;background:var(--line-strong)}.modal-head{padding-top:15px}.modal-footer{padding-bottom:calc(15px + env(safe-area-inset-bottom))}.task-card{align-items:flex-start;flex-direction:column;gap:12px}.task-card-side{width:100%;flex-direction:row;align-items:center;justify-content:space-between;padding-top:10px;border-top:1px dashed var(--line);text-align:left}.task-card-actions{margin-top:0}.due-label{display:none}.detail-hero{padding:22px}.device-menu-wrap{top:13px;right:13px}.detail-hero-main{padding-right:38px}.device-menu{width:220px}}@media(max-width:600px){.page-head h1{font-size:35px}.page-head p{font-size:12px}.summary-card{padding:9px}.summary-card strong{font-size:18px}.summary-icon{width:28px;height:28px}.summary-card small{font-size:8px}.category-tabs{margin-bottom:20px}.asset-card{padding:15px 14px 12px}.asset-name-line h3{font-size:15px}.asset-task-row{grid-template-columns:36px minmax(0,1fr) auto;gap:8px}.quick-done{height:27px;padding:0 8px}.detail-hero-main{align-items:flex-start}.asset-icon-lg{width:60px;height:60px;border-radius:18px;font-size:29px}.detail-title h1{font-size:29px}.detail-actions{margin-top:18px}.detail-actions .btn{flex:1}.archive-button{margin-left:0}.detail-meta{gap:7px 12px}.recommend-banner{align-items:flex-start;flex-direction:column}.recommend-banner .btn{width:100%}.task-card{padding:14px}.progress-ring[style]{width:44px!important;height:44px!important}.settings-card{padding:18px}.settings-tabs{margin-right:-18px;margin-left:-18px;padding-right:18px;padding-left:18px;border-right:0;border-left:0;border-radius:0;background:transparent}.form-grid.two,.form-grid.three{grid-template-columns:1fr}.form-grid.two.keep-two{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-card{padding:18px}.editor-head{flex-direction:column}.draft-row{flex-wrap:wrap}.draft-copy{min-width:calc(100% - 90px)}.draft-cycle{width:100%;padding-left:62px}.template-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.template-card{min-height:112px;padding:12px}.template-copy small{display:none}.template-meta{padding-top:5px}.template-icon{width:35px;height:35px;font-size:18px}.channel-card{align-items:flex-start;flex-wrap:wrap}.channel-copy{min-width:calc(100% - 50px)}.channel-actions{width:100%;justify-content:flex-end}.rule-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card>strong{font-size:23px}.admin-template-grid,.channel-type-grid{grid-template-columns:1fr}.auth-hero{padding:24px 18px 20px}.auth-hero-copy{margin-top:30px}.auth-hero h1{font-size:38px}.auth-hero-copy>p{font-size:12px}.hero-preview{display:none}.hero-features{margin-top:22px}.auth-card{padding:22px 19px}.auth-card-head h2{font-size:29px}.settings-grid{gap:12px}.settings-card .section-heading{align-items:flex-start}.search-box input{width:100px}.data-table{font-size:10px}}@keyframes modal-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}
