:root{--brand: #7c3aed;--brand-2: #ec4899;--brand-3: #f59e0b;--brand-dark: #5b21b6;--ink: #1e1b3a;--muted: #6b7194;--bg: #f6f4ff;--card: #ffffff;--ring: rgba(124, 58, 237, .35);--good: #059669;--warn: #d97706;--bad: #dc2626;--grad-brand: linear-gradient(120deg, #7c3aed, #ec4899 55%, #f59e0b);--grad-brand-soft: linear-gradient(120deg, rgba(124,58,237,.12), rgba(236,72,153,.12) 55%, rgba(245,158,11,.14));--grad-good: linear-gradient(120deg, #059669, #34d399);--grad-warn: linear-gradient(120deg, #d97706, #fbbf24);--grad-bad: linear-gradient(120deg, #dc2626, #f87171);--shadow-card: 0 10px 30px rgba(30, 27, 58, .08);--shadow-pop: 0 16px 44px rgba(124, 58, 237, .22);--radius-lg: 22px;--radius-md: 16px;--shell-pad-top: 0px;--shell-pad-bottom: 0px}.pwa-banner{position:fixed;left:50%;transform:translate(-50%);z-index:1000;display:flex;align-items:center;gap:10px;width:min(560px,calc(100vw - 20px));padding:10px 14px;border-radius:14px;box-shadow:var(--shadow-pop);font-size:.85rem}.pwa-banner-text{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.pwa-banner-text strong{font-size:.88rem}.pwa-banner-text span{color:inherit;opacity:.85;font-size:.78rem}.pwa-banner-btn{border:1px solid rgba(28,25,23,.18);background:#fff;color:var(--ink);border-radius:10px;padding:8px 12px;font-weight:700;font-size:.8rem;cursor:pointer;white-space:nowrap}.pwa-banner-btn.primary{background:var(--grad-brand);color:#fff;border:none}.pwa-banner-btn:disabled{opacity:.7;cursor:default}.pwa-banner-icon{font-size:1.4rem}.pwa-banner-appicon{width:40px;height:40px;border-radius:10px;flex-shrink:0}.pwa-banner-actions{display:flex;gap:6px;align-items:center}.pwa-update{top:calc(10px + var(--safe-top));background:var(--grad-brand);color:#fff}.pwa-update .pwa-banner-btn{background:#fff;color:var(--brand-dark);border:none}.pwa-install,.pwa-ios{bottom:calc(16px + var(--safe-bottom));background:#fff;border:1px solid rgba(124,58,237,.25)}.pwa-offline{top:calc(10px + var(--safe-top));background:#7c2d12;color:#fff}.pwa-splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:var(--bg)}.pwa-splash img{width:84px;height:84px;border-radius:20px;box-shadow:var(--shadow-pop)}.pwa-splash-name{font-size:1.4rem;font-weight:800;letter-spacing:-.3px;background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent}.pwa-splash-spinner{width:26px;height:26px;border:3px solid rgba(124,58,237,.25);border-top-color:var(--brand);border-radius:50%;animation:splash-spin .8s linear infinite}@keyframes splash-spin{to{transform:rotate(360deg)}}*{margin:0;padding:0;box-sizing:border-box}html{color-scheme:light}:root{--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}body{font-family:Segoe UI,system-ui,-apple-system,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--ink);background:radial-gradient(900px 480px at 90% -10%,rgba(236,72,153,.12),transparent 60%),radial-gradient(800px 420px at -10% 30%,rgba(124,58,237,.1),transparent 55%),radial-gradient(700px 400px at 50% 110%,rgba(245,158,11,.1),transparent 60%),var(--bg);background-attachment:fixed;line-height:1.55;font-size:16px}h1{font-size:1.5rem;line-height:1.2;letter-spacing:-.2px}h2{font-size:1.25rem;letter-spacing:-.2px}img{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}h1{font-size:1.5rem;line-height:1.2}h2{font-size:1.25rem}h3{font-size:1.02rem;margin-bottom:8px}.app-shell{min-height:100dvh;display:flex;flex-direction:column}.app-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top,0px));color:#fff;background:var(--grad-brand);box-shadow:0 6px 24px #7c3aed59}.app-header strong{color:#fff}.app-institute-brand{display:inline-flex;align-items:center;gap:8px;min-width:0;color:#fff;font-weight:800;text-decoration:none}.app-institute-brand span{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-institute-brand img{width:30px;height:30px;border-radius:8px;object-fit:contain;background:#fff}.app-header .muted{color:#ffffffbf}.app-header .icon-btn{background:#ffffff2e;border-color:#ffffff59;color:#fff}.app-header .role-pill{color:#fff;background:#ffffff2e;border-color:#fff6}.role-pill{display:inline-block;margin-left:8px;font-size:.7rem;font-weight:700;letter-spacing:.4px;color:var(--brand-dark);background:#d4a72c24;border:1px solid rgba(212,167,44,.35);padding:2px 8px;border-radius:999px;vertical-align:middle}.logo-img{width:40px;height:40px;object-fit:contain;border-radius:10px;flex-shrink:0}.brand-word{color:#fff;font-weight:800;font-size:1.1rem;letter-spacing:-.2px}.app-header .brand-word{color:#fff}.footer-logo{width:44px;height:44px}.icon-btn{border:1px solid rgba(28,25,23,.15);background:var(--card);border-radius:10px;width:40px;height:40px;font-size:1.1rem;cursor:pointer}.app-main{flex:1;width:min(720px,100%);margin:0 auto;padding:16px 16px calc(84px + env(safe-area-inset-bottom,0px));padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;justify-content:space-around;background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid rgba(124,58,237,.14);box-shadow:0 -6px 24px #7c3aed1a;padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));padding-left:max(4px,env(safe-area-inset-left,0px));padding-right:max(4px,env(safe-area-inset-right,0px))}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.68rem;font-weight:700;color:var(--muted);padding:6px 10px;border-radius:14px;min-width:56px;transition:transform .12s ease}.bottom-nav-item:active{transform:scale(.94)}.bottom-nav-item.active{color:#fff;background:var(--grad-brand);box-shadow:0 6px 16px #7c3aed59}.page-header{margin-bottom:16px}.page-header h1{margin-bottom:4px}.card{background:var(--card);border:1px solid rgba(124,58,237,.1);border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow-card);margin-bottom:14px}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px}.stat-grid.tight{margin-bottom:0}.stat-tile,.stat-wide{background:var(--card);border:1px solid rgba(124,58,237,.12);border-radius:var(--radius-md);padding:12px 14px;display:flex;flex-direction:column;position:relative;overflow:hidden}.stat-tile:before,.stat-wide:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--grad-brand)}.stat-grid .stat-tile:nth-child(4n+2):before{background:var(--grad-good)}.stat-grid .stat-tile:nth-child(4n+3):before{background:var(--grad-warn)}.stat-grid .stat-tile:nth-child(4n+4):before{background:var(--grad-bad)}.stat-value{font-size:1.35rem;font-weight:800}.stat-label{color:var(--muted);font-size:.8rem}.tone-good .stat-value{color:var(--good)}.tone-warn .stat-value{color:var(--warn)}.tone-bad .stat-value{color:var(--bad)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:12px;font-weight:700;border:none;cursor:pointer;min-height:44px;transition:transform .12s ease,opacity .12s ease}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--grad-brand);background-size:160% 160%;color:#fff;box-shadow:0 8px 22px #7c3aed59}.btn-primary:hover{background-position:100% 50%}.btn-outline{background:var(--card);border:1.5px solid rgba(28,25,23,.2);color:var(--ink)}.btn-ghost{background:transparent;color:var(--muted)}.btn-danger{background:#fdecea;color:var(--bad);border:1px solid rgba(185,28,28,.25)}.btn-full{width:100%}.btn-row{display:flex;gap:10px;margin-top:10px}.btn-row.start{justify-content:flex-start;margin-bottom:12px}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.quick-action{display:flex;flex-direction:column;align-items:center;gap:6px;background:var(--card);border:1px solid rgba(124,58,237,.12);border-radius:var(--radius-md);padding:14px 6px;font-size:.78rem;font-weight:700;text-align:center;min-height:76px;justify-content:center;transition:transform .12s ease,box-shadow .12s ease}.quick-action:hover{transform:translateY(-2px);box-shadow:var(--shadow-pop)}.quick-action span{font-size:1.5rem}.quick-grid .quick-action:nth-child(6n+1){background:linear-gradient(140deg,#f3e8ff,#fff)}.quick-grid .quick-action:nth-child(6n+2){background:linear-gradient(140deg,#fce7f3,#fff)}.quick-grid .quick-action:nth-child(6n+3){background:linear-gradient(140deg,#fef3c7,#fff)}.quick-grid .quick-action:nth-child(6n+4){background:linear-gradient(140deg,#d1fae5,#fff)}.quick-grid .quick-action:nth-child(6n+5){background:linear-gradient(140deg,#dbeafe,#fff)}.quick-grid .quick-action:nth-child(6n+6){background:linear-gradient(140deg,#ffe4e6,#fff)}.list-stack{display:flex;flex-direction:column;gap:10px}.list-title{margin:18px 0 10px}.row-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid rgba(28,25,23,.06)}.row-item:last-child{border-bottom:none}.muted{color:var(--muted)}.small{font-size:.82rem}.block{display:block}.good-text{color:var(--good)}.warn-text{color:var(--warn)}.status-pill{font-size:.7rem;font-weight:800;padding:3px 10px;border-radius:999px;border:1px solid rgba(28,25,23,.15);color:var(--muted);white-space:nowrap}.status-pill.active{color:var(--good);border-color:#0596694d;background:linear-gradient(120deg,#0596691a,#34d39924)}.status-pill.pending{color:var(--warn);border-color:#b453094d;background:#b4530914}.status-pill.suspended{color:var(--bad);border-color:#b91c1c4d;background:#b91c1c14}.alert-banner{background:linear-gradient(120deg,#f59e0b29,#ec48991f);border:1px solid rgba(245,158,11,.45);border-radius:14px;padding:10px 14px;margin-bottom:14px;font-weight:700;font-size:.9rem}.alert-link{font-weight:800;text-decoration:underline}.field{display:block;margin-bottom:12px}.field-label{display:block;font-weight:600;font-size:.85rem;margin-bottom:4px}.field-hint{display:block;font-size:.78rem;color:var(--muted, #6b7280);margin:-2px 0 6px;word-break:break-all}input,select,textarea{width:100%;padding:11px 12px;border:1.5px solid rgba(28,25,23,.18);border-radius:10px;background:#fff;min-height:44px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid var(--ring);border-color:var(--brand)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.chip-select{display:flex;flex-wrap:wrap;gap:8px}.chip-btn{border:1.5px solid rgba(28,25,23,.2);background:#fff;border-radius:999px;padding:7px 14px;font-size:.85rem;font-weight:600;cursor:pointer}.chip-btn.on{background:var(--grad-brand);border-color:transparent;color:#fff;box-shadow:0 4px 12px #7c3aed4d}.att-list{margin:12px 0}.att-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(28,25,23,.06)}.att-row:last-child{border-bottom:none}.seg{display:flex;border:1.5px solid rgba(28,25,23,.18);border-radius:10px;overflow:hidden}.seg-btn{border:none;background:#fff;padding:8px 14px;font-weight:700;font-size:.8rem;cursor:pointer;min-width:52px}.seg-btn+.seg-btn{border-left:1.5px solid rgba(28,25,23,.18)}.seg-btn.on.seg-present{background:var(--grad-good);color:#fff}.seg-btn.on.seg-absent{background:var(--grad-bad);color:#fff}.seg-btn.on.seg-late{background:var(--grad-warn);color:#fff}.auth-wrap{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;gap:18px;background:radial-gradient(700px 340px at 85% 0%,rgba(236,72,153,.16),transparent 65%),radial-gradient(600px 300px at 10% 100%,rgba(124,58,237,.14),transparent 60%),var(--bg)}.auth-brand h1{background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}.auth-logo{box-shadow:var(--shadow-pop);border:3px solid #fff}.auth-brand{text-align:center}.auth-logo{width:84px;height:84px;object-fit:contain;margin:0 auto 10px;border-radius:20px}.auth-brand h1{font-size:1.6rem}.auth-card{width:min(420px,100%)}.tab-row{display:flex;gap:8px;margin-bottom:14px}.tab{flex:1;padding:10px;border-radius:10px;border:1.5px solid rgba(28,25,23,.15);background:#fff;font-weight:700;cursor:pointer}.tab.active{background:var(--grad-brand);border-color:transparent;color:#fff;box-shadow:0 6px 16px #7c3aed4d}.demo-box{margin-top:16px;border-top:1px dashed rgba(28,25,23,.2);padding-top:12px}.demo-title{font-weight:700;font-size:.85rem;margin-bottom:8px}.demo-row{display:block;width:100%;text-align:left;background:#d4a72c14;border:1px solid rgba(212,167,44,.25);border-radius:10px;padding:9px 12px;margin-bottom:6px;cursor:pointer;font-size:.85rem}.tiny-note{font-size:.78rem;color:var(--muted);margin-top:10px}.dash-notif .notif-bell{display:inline-block}.dash-notif .notif-bell.ringing{animation:bell-ring .6s ease-in-out infinite}@keyframes bell-ring{0%,to{transform:rotate(0)}20%{transform:rotate(12deg)}40%{transform:rotate(-10deg)}60%{transform:rotate(8deg)}80%{transform:rotate(-6deg)}}.notif-count{display:inline-block;min-width:22px;text-align:center;margin-left:6px;padding:1px 7px;border-radius:999px;background:var(--bad);color:#fff;font-size:.75rem;font-weight:800}.notif-row{border-top:1px dashed rgba(124,58,237,.15);padding-top:10px}.image-upload-row{display:flex;gap:14px;align-items:center}.image-upload-preview{width:84px;height:84px;border-radius:14px;border:1.5px dashed rgba(124,58,237,.4);background:#fff;display:grid;place-items:center;overflow:hidden;flex-shrink:0}.image-upload-preview img{width:100%;height:100%;object-fit:cover}.image-upload-placeholder{font-size:1.8rem;opacity:.55}.image-upload-actions{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.good-hint{color:var(--good)}.image-spec-card{background:var(--grad-brand-soft);border:1px solid rgba(124,58,237,.18);border-radius:12px;padding:10px 12px;margin-bottom:8px}.image-spec-size-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.image-spec-size{font-weight:800;font-size:.92rem;color:var(--brand-dark);letter-spacing:-.2px}.image-spec-format{font-size:.75rem;color:var(--muted)}.image-spec-where{font-size:.75rem;color:var(--muted);margin-top:2px}.state-block{display:flex;flex-direction:column;align-items:center;gap:10px;padding:40px 16px;text-align:center;color:var(--muted)}.empty-icon{font-size:2rem}.spinner{width:28px;height:28px;border-radius:50%;border:3px solid rgba(124,58,237,.25);border-top-color:var(--brand-2);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{background:linear-gradient(120deg,#0596691f,#34d39924);color:var(--good);border:1px solid rgba(5,150,105,.35);border-radius:12px;padding:10px 12px;font-weight:700;font-size:.9rem;margin:10px 0}.toast-bad{background:#b91c1c1a;color:var(--bad);border-color:#b91c1c4d}.menu-row{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid rgba(28,25,23,.08);border-radius:14px;padding:14px}.menu-icon{font-size:1.4rem}.chev{margin-left:auto;color:var(--muted);font-size:1.2rem}.search-row{display:flex;gap:10px;margin-bottom:14px}.search-row input{flex:1}.search-row.input-only{display:block;margin-bottom:14px}.marks-entry{margin-top:10px;border-top:1px dashed rgba(28,25,23,.15);padding-top:10px}.marks-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 0}.marks-row input{width:90px;text-align:center}.marks-summary{margin-top:6px}.roster-edit{margin-top:10px;border-top:1px dashed rgba(28,25,23,.15);padding-top:10px}.check-row{display:flex;align-items:center;gap:10px;padding:8px 0}.check-row input{width:20px;min-height:20px}.notif-unread{border-left:4px solid;border-image:var(--grad-brand) 1}.link-btn{background:none;border:none;color:var(--brand);font-weight:800;cursor:pointer;text-decoration:underline;font-size:.85rem}.fee-pending{border-left:4px solid var(--warn)}.hw-done{opacity:.65}.dash-cols{display:grid;gap:14px}.brand-gradient-text{background:linear-gradient(120deg,var(--brand-dark),var(--brand));-webkit-background-clip:text;background-clip:text;color:transparent}.landing{min-height:100dvh}.landing .site-header{background:var(--grad-brand);color:#fff;box-shadow:0 6px 24px #7c3aed4d;border-bottom:none}.landing .site-header .brand{color:#fff}.landing .site-header .landing-nav a{color:#ffffffe6}.landing .site-header .landing-nav a:hover{color:#fff}.landing .site-header .btn-outline{background:#ffffff26;border-color:#ffffff80;color:#fff}.landing h1{background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}.landing h2{position:relative;padding-bottom:10px}.landing h2:after{content:"";position:absolute;left:0;bottom:0;width:56px;height:4px;border-radius:999px;background:var(--grad-brand)}.landing .site-header .brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.05rem;white-space:nowrap}.landing .site-header .header-inner{display:flex;align-items:center;gap:20px;padding:12px 0}.landing-nav{display:flex;align-items:center;gap:14px;margin-left:auto;font-weight:600;color:var(--muted);flex-wrap:wrap}.landing-nav a:hover{color:var(--brand-dark)}.hero-sub{font-size:1.05rem}.grid-3{display:grid;grid-template-columns:1fr;gap:12px;margin-top:20px}.point-card{display:flex;gap:10px;align-items:flex-start}.tick{color:var(--brand-dark);font-weight:800}.center-cta{text-align:center;margin-top:20px}.pricing-wrap{display:flex;justify-content:center}.pricing-card{max-width:620px;text-align:center;padding:32px 24px}.pricing-points{list-style:none;text-align:left;display:inline-block;margin:12px 0 20px}.pricing-points li{padding:4px 0 4px 26px;position:relative}.pricing-points li:before{content:"✓";position:absolute;left:0;color:var(--brand-dark);font-weight:700}.faq-list{display:flex;flex-direction:column;gap:10px;margin-top:16px}.faq-item{background:var(--card);border:1px solid rgba(28,25,23,.08);border-radius:12px;padding:14px 16px}.faq-item summary{font-weight:700;cursor:pointer}.faq-item p{margin-top:8px}.owner-section{background:linear-gradient(160deg,#f3e8ff,#fce7f3 55%,#fef3c7);border-block:1px solid rgba(124,58,237,.2)}.owner-grid{display:grid;gap:24px}.owner-card{align-self:start;text-align:center}.owner-card .btn{margin-top:12px}.owner-grid ul{list-style:none;margin-top:12px}.owner-grid li{padding:4px 0}.site-footer{border-top:1px solid rgba(28,25,23,.08);padding:28px 0;background:var(--card)}.footer-inner{width:min(1120px,92%);margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px}.footer-brand{display:flex;align-items:center;gap:12px}.footer-logo{width:44px;height:44px;border-radius:10px}.footer-links{display:flex;flex-wrap:wrap;gap:14px;font-size:.9rem;color:var(--muted)}.footer-links a:hover{color:var(--brand-dark)}.wa-float{position:fixed;right:16px;bottom:calc(84px + env(safe-area-inset-bottom));z-index:30;width:56px;height:56px;border-radius:50%;background:linear-gradient(140deg,#25d366,#128c7e);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px #25d36673;transition:transform .15s ease;animation:wa-pulse 2.4s ease-in-out infinite}@keyframes wa-pulse{0%,to{box-shadow:0 10px 26px #25d36673,0 0 #25d36659}50%{box-shadow:0 10px 26px #25d36673,0 0 0 12px #25d36600}}.wa-float:hover{transform:scale(1.06)}.landing .wa-float{bottom:calc(20px + env(safe-area-inset-bottom))}.share-url{word-break:break-all}.hero-center{text-align:center}.hero-center h1{margin:12px 0 8px}.hero-actions.center{justify-content:center}.hero-banner{margin:28px auto 0;border-radius:24px;overflow:hidden;box-shadow:0 24px 60px #7c3aed40,0 0 0 1px #7c3aed1f;background:#fff;line-height:0}.hero-banner img{width:100%;height:auto;display:block}.hero-actions{display:flex;gap:12px;margin:20px 0 10px;flex-wrap:wrap}.hero-grid{display:grid;grid-template-columns:1fr;gap:36px;align-items:center;width:min(1120px,92%);margin:0 auto}.hero-grid .hero-visual{display:flex;justify-content:center;min-width:0}.hero-grid .logo-frame{background:var(--card);border:1px solid rgba(124,58,237,.15);border-radius:28px;padding:24px;box-shadow:var(--shadow-pop);transform:rotate(2deg);max-width:100%}.hero-grid .hero-logo{display:block;width:min(220px,100%);max-width:220px;height:auto;aspect-ratio:1;object-fit:contain}.hero-grid .hero-institute-image{display:block;width:min(420px,100%);height:250px;border-radius:16px;object-fit:cover}.institute-monogram{display:grid;place-items:center;width:min(220px,70vw);aspect-ratio:1;border-radius:20px;color:#fff;font-size:clamp(4rem,16vw,7rem);background:var(--grad-brand)}.institute-info-card{margin-bottom:28px}.hero{padding:56px 0 64px;background:radial-gradient(700px 340px at 85% 10%,rgba(236,72,153,.18),transparent 65%),radial-gradient(600px 300px at 10% 90%,rgba(124,58,237,.16),transparent 60%),radial-gradient(500px 260px at 60% 60%,rgba(245,158,11,.12),transparent 60%)}.features{background:linear-gradient(180deg,#fff,#faf8ff);border-block:1px solid rgba(124,58,237,.1)}.point-card{border-left:4px solid;border-image:var(--grad-brand) 1}.landing section{padding:56px 0}.landing .container{width:min(1120px,92%);margin:0 auto}.chip{display:inline-block;background:var(--grad-brand-soft);color:var(--brand-dark);border:1px solid rgba(124,58,237,.35);border-radius:999px;padding:4px 14px;font-size:.85rem;font-weight:700}.brand-gradient-text{background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent}@media (min-width: 900px){.hero-grid{grid-template-columns:1.15fr .85fr}.grid-3{grid-template-columns:repeat(3,1fr)}.owner-grid{grid-template-columns:1.2fr .8fr}.landing h1{font-size:clamp(2rem,4.5vw,3rem)}.landing h2{font-size:clamp(1.6rem,3vw,2.2rem)}}@media (min-width: 768px){.app-main{padding-top:24px}.stat-grid{grid-template-columns:repeat(4,1fr)}.quick-grid{grid-template-columns:repeat(6,1fr)}.dash-cols{grid-template-columns:repeat(3,1fr)}.bottom-nav{left:50%;transform:translate(-50%);right:auto;width:min(720px,100%);border-radius:18px 18px 0 0;border:1px solid rgba(28,25,23,.08);border-bottom:none}h1{font-size:1.8rem}}.easy-btn{display:flex;align-items:center;gap:12px;padding:16px;margin-bottom:14px;border-radius:var(--radius-lg);color:#fff;background:var(--grad-brand);box-shadow:var(--shadow-pop);text-decoration:none;transition:transform .12s ease,box-shadow .12s ease}.easy-btn:hover{transform:translateY(-2px)}.easy-btn:active{transform:scale(.99)}.easy-btn-done{background:var(--grad-good);box-shadow:0 14px 34px #0596694d}.easy-btn-icon{font-size:2rem;line-height:1}.easy-btn-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.easy-btn-text strong{font-size:1.05rem;color:#fff}.easy-btn-sub{font-size:.8rem;line-height:1.35;color:#ffffffe6}.easy-btn-go{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;background:#ffffff38;border:1px solid rgba(255,255,255,.45)}.streak-badge{display:inline-block;margin-bottom:14px;padding:4px 12px;border-radius:999px;font-size:.82rem;font-weight:800;color:var(--warn);background:#f59e0b24;border:1px solid rgba(245,158,11,.35)}.att-summary{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 4px}.att-count{font-size:.8rem;font-weight:800;padding:4px 10px;border-radius:999px;color:var(--muted);background:#1e1b3a0f}.att-count.att-good{color:var(--good);background:#0596691f}.att-count.att-bad{color:var(--bad);background:#dc26261a}.att-count.att-warn{color:var(--warn);background:#d977061f}.tap-rows{margin:12px 0;border:1px solid rgba(124,58,237,.12);border-radius:var(--radius-md);overflow:hidden}.tap-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px 12px;border:none;border-bottom:1px solid rgba(28,25,23,.06);background:#fff;font-weight:600;text-align:left;cursor:pointer}.tap-row:last-child{border-bottom:none}.tap-row:active{background:#7c3aed12}.pill{min-width:76px;text-align:center;font-size:.75rem;font-weight:800;padding:4px 12px;border-radius:999px}.pill-present{color:var(--good);background:#0596691f}.pill-absent{color:var(--bad);background:#dc26261f}.pill-late{color:var(--warn);background:#d9770624}.chip-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0}.chip-btn{border:1px solid rgba(124,58,237,.3);background:var(--grad-brand-soft);color:var(--brand-dark);border-radius:999px;padding:7px 12px;font-size:.82rem;font-weight:700;cursor:pointer}.chip-btn:active{transform:scale(.97)}.toggle-row{display:flex;align-items:flex-start;gap:12px;cursor:pointer}.toggle-row input{flex-shrink:0;width:22px;height:22px;accent-color:var(--brand)}.toggle-body{margin-top:12px;padding-top:8px;border-top:1px dashed rgba(124,58,237,.2)}.sticky-action{position:sticky;bottom:72px;z-index:5;padding:10px;border:1px solid rgba(124,58,237,.14);border-radius:var(--radius-lg);background:#fffffff0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-card)}.sticky-action .muted{margin-bottom:6px;text-align:center}.done-card{background:linear-gradient(160deg,#0596691a,#fff 55%);border-color:#05966947}.done-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}.done-icon{font-size:1.8rem;line-height:1}.ai-tool-row{margin-bottom:14px}.ai-form{display:grid;gap:12px}.ai-assistant{margin-bottom:16px}.ai-hint{margin-top:14px;font-size:.9rem}.ai-result{margin-top:16px;border-top:1px dashed rgba(124,58,237,.25);padding-top:12px}.ai-result-text{white-space:pre-wrap;line-height:1.55;background:var(--grad-brand-soft);border-radius:12px;padding:14px;margin-top:10px;font-size:.94rem}.ai-badges{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ai-usage-pill{font-size:.72rem;font-weight:700;background:#1c19170f;padding:4px 10px;border-radius:999px;color:var(--muted)}.ai-copy-btn{border:1px solid rgba(124,58,237,.3);background:#fff;border-radius:999px;padding:4px 10px;font-size:.72rem;font-weight:700;cursor:pointer;margin-left:auto}.ai-error-notice{margin-top:14px;background:#dc262612;border:1px solid rgba(220,38,38,.25);border-radius:14px;padding:12px 14px}.ai-error-notice p{margin:0 0 6px}.ai-error-upgrade{background:#d9770614;border-color:#d9770659}.ai-link{display:inline-block;margin-top:4px;font-weight:700;color:#7c3aed}.ai-plan-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:12px}@media (min-width: 720px){.ai-plan-grid{grid-template-columns:repeat(3,1fr)}}.ai-plan-current{outline:2px solid rgba(124,58,237,.5)}.ai-plan-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.ai-plan-price{font-size:1.6rem;font-weight:800;margin:6px 0}.ai-plan-price .muted{font-size:.9rem;font-weight:600}.ai-plan-limits{margin:8px 0 0;padding-left:18px;font-size:.85rem;color:var(--muted)}.ai-table-wrap{overflow-x:auto;margin-top:10px}.ai-table{width:100%;border-collapse:collapse;font-size:.82rem}.ai-table th,.ai-table td{text-align:left;padding:7px 8px;border-bottom:1px solid rgba(28,25,23,.08);white-space:nowrap}.plan-grid{display:grid;grid-template-columns:1fr;gap:18px;margin-top:26px}@media (min-width: 780px){.plan-grid{grid-template-columns:repeat(3,1fr);align-items:stretch}}.plan-card{--plan-accent: var(--brand);position:relative;display:flex;flex-direction:column;gap:10px;background:var(--card);border:1px solid rgba(28,25,23,.08);border-top:5px solid var(--plan-accent);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:26px 18px 20px}.plan-basic{--plan-accent: #14b8a6}.plan-essential{--plan-accent: #7c3aed}.plan-pro{--plan-accent: #f59e0b}.plan-featured{border-color:#7c3aed66;box-shadow:var(--shadow-pop)}.plan-current{outline:2px solid rgba(5,150,105,.55)}.plan-badge{position:absolute;top:-13px;left:50%;transform:translate(-50%);background:var(--grad-brand);color:#fff;font-size:.72rem;font-weight:700;padding:4px 14px;border-radius:999px;white-space:nowrap;box-shadow:0 6px 16px #7c3aed59}.plan-badge-current{background:var(--grad-good);left:auto;right:14px;transform:none;box-shadow:0 6px 16px #0596694d}.plan-name{margin:6px 0 0;letter-spacing:.6px}.plan-tagline{margin-top:-8px;color:var(--muted);font-weight:600;font-size:.92rem}.plan-price{font-size:2rem;font-weight:800;color:var(--plan-accent);line-height:1.1}.plan-period{font-size:.95rem;font-weight:700;color:var(--muted)}.plan-per{margin-top:-8px;font-size:.78rem;color:var(--muted)}.plan-features{list-style:none;display:flex;flex-direction:column;gap:6px;font-size:.9rem}.plan-features li{padding-left:24px;position:relative}.plan-features li:before{content:"✓";position:absolute;left:4px;color:var(--plan-accent);font-weight:800}.plan-limits{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.plan-limit{display:flex;flex-direction:column;align-items:center;background:#7c3aed0f;border:1px dashed rgba(124,58,237,.3);border-radius:12px;text-align:center;padding:8px 4px}.plan-limit strong{font-size:1rem}.plan-limit span{font-size:.66rem;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}.plan-ai{display:flex;flex-direction:column;gap:4px;background:var(--grad-brand-soft);border:1px solid rgba(124,58,237,.2);border-radius:14px;padding:10px 12px;font-size:.85rem}.plan-ai-off{background:#dc26260f;border-color:#dc262640}.plan-ai-off .plan-ai-title{color:var(--bad)}.plan-ai-title{font-weight:800}.plan-ai-rows{display:flex;flex-direction:column;gap:2px}.plan-ai-rows span{display:flex;justify-content:space-between;gap:8px}.plan-ai-rows strong{color:var(--brand-dark)}.plan-ai-note{color:var(--muted);font-size:.78rem}.plan-cta{margin-top:auto;width:100%;text-align:center}.plan-pro .plan-cta:not(:disabled){background:linear-gradient(120deg,#f59e0b,#ec4899);border-color:transparent;color:#fff}.compare-block{margin-top:34px}.compare-wrap{overflow-x:auto;margin-top:14px}.compare-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--card);border:1px solid rgba(28,25,23,.08);border-radius:var(--radius-md);overflow:hidden;font-size:.88rem}.compare-table th,.compare-table td{padding:10px 12px;text-align:center;border-bottom:1px solid rgba(28,25,23,.07)}.compare-feature-head,.compare-label{text-align:left;font-weight:700}.compare-feature-head{font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}.compare-table thead th{background:#f3f0ff;font-weight:800}.compare-head.compare-basic{color:#0f766e}.compare-head.compare-essential{color:var(--brand-dark)}.compare-head.compare-pro{color:#b45309}.compare-price{display:block;font-size:.74rem;color:var(--muted);font-weight:600}.compare-yes{color:var(--good);font-weight:800}.compare-no{color:var(--muted)}.compare-note{margin-top:10px}@media (max-width: 640px){.compare-wrap{overflow-x:visible}.compare-table{border:0;background:transparent;border-radius:0;overflow:visible}.compare-table thead{display:none}.compare-table tbody,.compare-table tr,.compare-table td{display:block}.compare-table tr{background:var(--card);border:1px solid rgba(28,25,23,.08);border-radius:var(--radius-md);margin-bottom:10px;padding:8px 14px;box-shadow:var(--shadow-card)}.compare-table td{display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:right;border:0;padding:5px 0}.compare-table td:before{content:attr(data-plan);font-weight:700;color:var(--muted);text-align:left}.compare-table .compare-label{font-weight:800;text-align:left;padding-bottom:6px;margin-bottom:4px;border-bottom:1px dashed rgba(28,25,23,.15)}.compare-table .compare-label:before{content:none}}.pricing-notes{margin-top:18px;display:inline-block}.app-header .plan-pill{background:#ffffff2e;border:1px solid rgba(255,255,255,.4);color:#fff}.plan-pill{display:inline-block;padding:6px 12px;border-radius:999px;font-size:.78rem;font-weight:700;white-space:nowrap;text-decoration:none;transition:transform .12s ease}.plan-pill:active{transform:scale(.95)}.chip-good{background:#05966924;color:var(--good);border-color:#05966966}.chip-bad{background:#dc26261f;color:var(--bad);border-color:#dc262666}.plan-hero .plan-hero-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.plan-hero.is-active{border-left:4px solid var(--good)}.plan-hero.is-lapsed{border-left:4px solid var(--bad)}.plan-hero-name{margin-top:8px;font-size:1.6rem;letter-spacing:.6px}.plan-hero-meta{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}.plan-hero-actions{margin-top:10px}.renewal-banner{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:12px;background:#dc262612;border:1px solid rgba(220,38,38,.25);border-radius:14px;padding:12px 14px}.renewal-banner p{font-size:.9rem}.usage-row{margin-top:12px}.usage-row-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:.9rem;margin-bottom:5px;flex-wrap:wrap}.usage-meter{height:10px;background:#7c3aed1a;border-radius:999px;overflow:hidden}.usage-fill{height:100%;background:linear-gradient(90deg,#7c3aed,#ec4899);border-radius:999px;transition:width .4s ease}.usage-meter-warn .usage-fill{background:linear-gradient(90deg,#d97706,#f87171)}.quota-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}.quota-row{margin-top:10px}.notice-upgrade{border-left:4px solid var(--brand-3)}.notice-upgrade .btn{margin-top:10px}.upgrade-confirm{margin-top:16px;border:1.5px dashed rgba(124,58,237,.45)}.upgrade-diffs{list-style:none;display:flex;flex-direction:column;gap:6px;margin:10px 0 12px;font-size:.92rem}.upgrade-diffs li{padding-left:22px;position:relative}.upgrade-diffs li:before{content:"→";position:absolute;left:0;color:var(--brand-dark);font-weight:800}.status-pill.expired,.status-pill.cancelled{background:#dc26261f;color:var(--bad)}.status-pill.payment_failed{background:#d9770626;color:var(--warn)}.status-pill.active{background:#05966924;color:var(--good)}.admin-plan{margin-bottom:14px}.admin-plan-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px}.admin-plan .check-row{font-weight:600;margin:10px 0 4px;cursor:pointer}.admin-plan .check-row input{accent-color:var(--brand)}.quota-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:12px}@media (min-width: 720px){.quota-grid{grid-template-columns:repeat(3,1fr)}}.quota-group{background:#7c3aed0d;border:1px solid rgba(124,58,237,.14);border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.quota-group h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;color:var(--brand-dark);margin-bottom:2px}.quota-field{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.85rem}.quota-field input{width:84px;padding:5px 8px;text-align:right}.sub-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}.sub-card .field{margin-top:8px}
