@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";
:root{--orange:#f56618;--ink:#212734;--muted:#75808e;--line:#e9ebee;--peach:#fff0e6;--bg:#f8f9fb}*{box-sizing:border-box}body{color:var(--ink);background:var(--bg);margin:0;font:14px DM Sans,Arial,sans-serif}h1,h2,h3,.brand{font-family:Manrope,Arial,sans-serif}h1{letter-spacing:-1px;margin:10px 0;font-size:32px}h2{letter-spacing:-.5px;font-size:19px}h3{font-size:15px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button,.outline{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:9px;padding:11px 16px}.primary{background:var(--orange);border:1px solid var(--orange);color:#fff;border-radius:9px;justify-content:center;align-items:center;gap:10px;padding:13px 18px;font-weight:700;display:inline-flex}.primary:hover{background:#db5410}.small{font-size:13px}.outline{align-items:center;gap:8px;display:inline-flex}.muted{color:var(--muted);line-height:1.7}.eyebrow{letter-spacing:1.7px;color:var(--orange);font-size:10px;font-weight:800}.brand{letter-spacing:-1px;align-items:baseline;gap:5px;font-size:25px;display:flex}.brand b{color:var(--orange);font-weight:800}.brand span{font-size:18px}.shell{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--line);background:#fff;flex-direction:column;width:246px;padding:35px 20px 20px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar .brand{padding:0 15px}.side-caption{letter-spacing:1.5px;color:#a1a8b0;margin:43px 15px 17px;font-size:9px}.nav-link{color:#616a78;border-radius:9px;align-items:center;gap:13px;margin-bottom:7px;padding:15px;font-size:13px;font-weight:600;display:flex}.nav-link.active{color:var(--orange);background:var(--peach)}.nav-link:hover{background:#faf4ef}.account{border-top:1px solid var(--line);align-items:center;gap:9px;margin-top:auto;padding-top:20px;display:flex}.account strong{font-size:12px}.account small{color:var(--muted);margin-top:5px;font-size:10px;display:block}.account form{margin-left:auto}.icon-button{color:var(--muted);border:0;padding:6px}.avatar{color:#a65428;background:#ffeadc;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:37px;height:37px;font-size:12px;font-weight:700;display:inline-flex}.workspace{flex-direction:column;flex:1;min-width:0;margin-left:246px;display:flex}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:80px;padding:0 38px;display:flex}.breadcrumb{color:#929aa6;align-items:center;gap:12px;font-size:11px;display:flex}.unit-form{align-items:center;gap:10px;display:flex}.unit-form select{color:#4e5867;background:#fff;border:0;width:170px;padding:9px}.unit-form button{padding:8px 12px;font-size:11px}.content{flex:1;padding:35px 38px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.page-heading p{margin:0;font-size:13px}.development{color:#9a744a;background:#fffaf4;border:1px solid #f2e5d6;border-radius:7px;margin-bottom:24px;padding:9px 12px;font-size:10px}.metrics{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px;display:grid}.metric{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:14px;padding:22px 17px;display:flex}.metric-icon{background:var(--peach);color:var(--orange);border-radius:12px;padding:12px;display:flex}.metric span{color:#687280;font-size:11px}.metric .metric-icon{color:var(--orange)}.metric strong{letter-spacing:-1px;margin-top:7px;font-size:29px;line-height:1.3;display:block}.dashboard-grid{grid-template-columns:1.2fr 1fr;gap:22px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:24px;padding:23px}.panel-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.panel-title h2{margin:0}.panel-title a{color:var(--orange);gap:5px;font-size:11px;display:flex}.empty{text-align:center;padding:34px 20px}.empty-icon{border:1px solid var(--line);color:#a9b0b9;background:#fafbfc;border-radius:50%;padding:13px;display:inline-flex}.empty h3{margin:15px 0 8px}.empty p{color:var(--muted);max-width:290px;margin:auto;font-size:12px;line-height:1.7}.welcome{background:linear-gradient(100deg,#fff0e4,#fff9f3);border-color:#f5e5d9;padding:30px}.welcome h2{margin:12px 0;font-size:24px}.welcome p{color:#98785e;font-size:13px;line-height:1.8}.welcome a{color:var(--orange);align-items:center;gap:10px;margin-top:10px;font-size:12px;font-weight:700;display:inline-flex}.app-footer{color:#9ba2ad;justify-content:space-between;padding:18px 38px;font-size:10px;display:flex}.student-row{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:17px 0;font-size:12px;display:flex}.student-row strong,.student-row>div{flex:1}.student-row small{color:var(--muted);margin-top:4px;display:block}.pill{background:var(--peach);color:#bf6b2c;border-radius:20px;padding:5px 9px;font-size:10px;display:inline-block}.pill.neutral{color:#687280;background:#f0f3f5}.count{color:#8993a0;margin-left:8px;font-size:12px}.kanban{grid-template-columns:repeat(4,minmax(190px,1fr));gap:14px;display:grid;overflow:auto}.lane{border:1px solid var(--line);background:#f0f2f5;border-radius:12px;min-height:460px;padding:12px}.lane h2{color:#6d5f55;justify-content:space-between;padding:3px 3px 14px;font-size:12px;display:flex}.lane h2 span{background:#fff;border-radius:4px;padding:2px 6px}.lane:first-child{background:#fff5eb;border-color:#f5e7db}.student-card{border:1px solid var(--line);background:#fff;border-radius:10px;margin-bottom:12px;padding:16px;display:block}.student-card h3{margin-bottom:5px;font-size:13px}.student-card small{color:var(--muted);font-size:10px}.student-card p{align-items:center;gap:7px;margin:18px 0 10px;font-size:11px;display:flex}.student-card footer{border-top:1px solid var(--line);color:#8992a0;justify-content:space-between;margin-top:18px;padding-top:12px;font-size:10px;display:flex}.lane-empty{color:#9ba2ae;text-align:center;padding:35px 10px;font-size:11px;line-height:1.7}.overlay{z-index:20;background:#161e3059;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:#fff;width:540px;max-width:100%;height:100%;padding:32px;position:relative;overflow:auto;box-shadow:-10px 0 50px #0001}.drawer.wide{width:670px}.drawer h2{font-size:26px}.close{color:#939ba7;font-size:28px;position:absolute;top:20px;right:20px}.drawer form h3{border-top:1px solid var(--line);margin-top:28px;padding-top:22px}.form-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}label{margin-bottom:17px;font-size:12px;font-weight:600;display:block}input,textarea,select{width:100%;color:var(--ink);background:#fff;border:1px solid #dfe3e8;border-radius:8px;margin-top:7px;padding:12px;display:block}textarea{resize:vertical}.help{color:#9098a4;margin:20px 0;font-size:11px;line-height:1.8}.form-actions{justify-content:flex-end;gap:10px;display:flex}.profile-summary{background:var(--bg);border:1px solid var(--line);border-radius:10px;margin:20px 0;padding:18px}.profile-summary small{color:var(--muted);margin:8px 0;display:block}.profile-summary span{font-size:12px}.timeline{border-left:2px solid #ffe3d0;margin:20px 0 30px;padding-left:18px}.timeline details{border-bottom:1px solid var(--line);padding:12px 0}.timeline summary{cursor:pointer;flex-wrap:wrap;align-items:center;gap:12px;font-size:11px;display:flex}.timeline p{white-space:pre-wrap;font-size:13px;line-height:1.8}.notice{color:#41693b;background:#eff8ee;border-radius:8px;padding:13px;font-size:12px}.notice.error{color:#a83828;background:#fff0ee}.login{grid-template-columns:1.05fr 1fr;min-height:100vh;display:grid}.login-story{background:#fff0e5;flex-direction:column;justify-content:center;padding:56px 65px;display:flex;position:relative;overflow:hidden}.login-story .brand{position:absolute;top:45px;left:65px}.login-story h1{margin:20px 0;font-size:49px;line-height:1.2}.login-story>p{color:#987f6c;max-width:390px;font-size:15px;line-height:1.9}.login-story>small{color:#a58b77;font-size:10px;position:absolute;bottom:35px}.orbit{flex-wrap:wrap;gap:9px;margin-top:38px;display:flex}.orbit span{color:#b37951;border:1px solid #edd9c9;border-radius:25px;padding:10px 15px;font-size:10px}.login-form{background:#fff;justify-content:center;align-items:center;padding:50px;display:flex}.login-form>div{width:100%;max-width:350px}.login-form h2{margin:12px 0;font-size:29px}.login-form form{margin-top:34px}.login-form .primary{justify-content:space-between;width:100%}.version{letter-spacing:1.2px;color:#a7adb5;margin-top:45px;font-size:8px;display:block}.setup{max-width:750px;padding:70px}.setup p{color:var(--muted);line-height:1.8}@media (max-width:1100px){.sidebar{width:210px;padding-inline:12px}.workspace{margin-left:210px}.content{padding:25px}.topbar{padding:0 25px}.metrics{grid-template-columns:repeat(2,1fr)}.metric{padding:20px}.dashboard-grid{grid-template-columns:1fr}.login-story{padding:40px}.login-story .brand{left:40px}.login-story h1{font-size:38px}}@media (max-width:700px){.shell{display:block}.sidebar{border-bottom:1px solid var(--line);width:auto;padding:18px 16px 10px;position:static}.sidebar .brand{padding:0;font-size:23px}.side-caption,.account{display:none}.sidebar nav{gap:5px;margin-top:15px;display:flex;overflow:auto}.nav-link{white-space:nowrap;gap:6px;margin:0;padding:10px;font-size:11px}.nav-link svg{width:15px}.workspace{margin-left:0}.topbar{height:65px;padding:0 16px}.breadcrumb{display:none}.unit-form{width:100%}.unit-form select{flex:1}.content{padding:25px 16px}.page-heading{align-items:flex-start}.page-heading h1{font-size:27px}.page-heading .primary{padding:12px;font-size:0}.page-heading .primary svg{width:18px}.page-heading p{font-size:12px}.metric{gap:8px;padding:15px}.metric-icon{padding:9px}.metric span{font-size:10px}.metric strong{font-size:25px}.metrics{gap:10px}.panel{padding:18px}.kanban{grid-template-columns:1fr;overflow:visible}.lane{min-height:0}.lane-empty{padding:15px}.student-card{margin-bottom:8px}.app-footer{gap:15px;padding:20px 16px}.drawer{padding:28px 20px}.form-grid{gap:10px}.login{grid-template-columns:1fr}.login-story{padding:35px 25px}.login-story .brand{margin-bottom:30px;position:static}.login-story h1{font-size:32px}.login-story>p,.orbit,.login-story>small{display:none}.login-form{padding:35px 25px}.login-form>div{max-width:450px}.student-row{flex-wrap:wrap;gap:8px}}:root{--orange:#c34c0d;--ink:#292929;--peach:#fff1df;--flame:linear-gradient(115deg,#e55916 0%,#f47d19 48%,#ffad08 100%)}.brand-art{width:100%;display:block}.brand-art img{width:100%;height:auto;display:block}.brand{width:100%;max-width:260px;line-height:0;display:block}.sidebar .brand{max-width:205px;margin-inline:auto;padding:0}.login-story .brand{width:260px}.primary{background:var(--flame);color:#26211b;border-color:#ec7418;box-shadow:0 3px 10px #e96d161a}.primary:hover{color:#211d18;background:linear-gradient(115deg,#d94f10,#f19412)}.primary:focus-visible{outline-offset:3px;outline:3px solid #863600}.nav-link.active{color:#9c3d0b;background:linear-gradient(110deg,#ffeadc,#fff4d7);box-shadow:inset 3px 0 #ed7318}.metric-icon{background:linear-gradient(135deg,#ffe5d4,#fff1c8)}.welcome{background:linear-gradient(110deg,#ffebdc,#fff4d5);border-color:#f4d7af}.login-story{background:radial-gradient(at 90% 90%,#ffe0a1 0%,#0000 60%),linear-gradient(135deg,#fff5ee,#fff0da)}.login-story:after{content:"";background:var(--flame);width:100%;height:5px;position:absolute;bottom:0;left:0}.lane:first-child{background:linear-gradient(#fff0db,#fff8f0);border-top:3px solid #ef781b}@media (max-width:700px){.sidebar .brand{width:180px;margin-inline:0}.login-story .brand{width:210px}.brand-art{flex-shrink:0}}.board-tabs{display:none}.board-column{min-width:0}.board-column>.lane{height:100%}.install-guide{margin:24px 0;font-size:14px;line-height:1.7}.install-guide summary{cursor:pointer;min-height:44px;font-weight:700}.nav-link span{min-width:0}@media (max-width:700px){html{scroll-padding-top:90px}body{overflow-wrap:anywhere}.shell{min-height:100dvh}.sidebar{border:0;padding:10px 16px}.sidebar .brand{width:134px}.sidebar nav{z-index:15;padding:7px 4px calc(7px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #eadfd5;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:0;display:grid;position:fixed;inset:auto 0 0;overflow:visible;box-shadow:0 -4px 20px #39231108}.nav-link{text-align:center;white-space:normal;border-radius:9px;flex-direction:column;justify-content:center;gap:5px;min-height:54px;padding:7px 2px;font-size:10px;line-height:1.2;display:flex}.nav-link span{max-width:100%;font-size:9px}.nav-link svg{flex-shrink:0;width:22px;height:22px}.nav-link.active{box-shadow:none;color:#923706;background:linear-gradient(120deg,#ffead8,#fff3ce)}.workspace{padding-bottom:calc(80px + env(safe-area-inset-bottom))}.topbar{z-index:10;height:auto;min-height:64px;padding:8px 16px;padding-top:max(8px,env(safe-area-inset-top));position:sticky;top:0;box-shadow:0 2px 8px #00000004}.unit-form{gap:8px}.unit-form select{width:auto;min-width:0;min-height:44px;margin:0;font-size:16px}.unit-form button{min-height:44px;font-size:12px}.content{padding:22px 16px}.page-heading{flex-wrap:wrap;gap:14px}.page-heading>div{width:100%}.page-heading h1{font-size:26px}.page-heading .primary{min-height:46px;padding:12px 16px;font-size:13px}.development{line-height:1.5}.app-footer{flex-wrap:wrap;font-size:10px}input,select,textarea{min-height:48px;font-size:16px}button,.outline{min-height:44px}input[type=date]{min-width:0;max-width:100%}.student-row{min-height:68px}.student-row strong,.student-row>div{min-width:0}.panel-title{flex-wrap:wrap}.panel-title a{align-items:center;min-height:44px}.metric{align-items:flex-start}.metric strong{font-size:26px}.form-grid{grid-template-columns:1fr;gap:0}.board-tabs{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px;display:grid}.board-tabs button{text-align:left;background:#fff;border:1px solid #e7e1dc;border-radius:10px;justify-content:space-between;align-items:center;gap:5px;min-height:48px;padding:11px 10px;font-size:12px;display:flex}.board-tabs button[aria-pressed=true]{background:var(--flame);color:#26211b;border-color:#ec7418;font-weight:700}.board-tabs span{background:#ffffffa8;border-radius:20px;padding:3px 7px;font-size:11px}.kanban{display:block}.board-column[data-selected=false]{display:none}.lane{min-height:180px;padding:12px}.student-card{padding:18px}.student-card h3{font-size:16px}.student-card small,.student-card p,.student-card footer{font-size:12px}.student-card footer{align-items:center;min-height:44px}.lane h2{font-size:14px}.overlay{z-index:30}.drawer,.drawer.wide{width:100%;height:100dvh;max-height:100dvh;padding:calc(28px + env(safe-area-inset-top)) 20px calc(28px + env(safe-area-inset-bottom));overscroll-behavior:contain}.drawer h2{overflow-wrap:anywhere;padding-right:38px}.close{top:max(10px,env(safe-area-inset-top));border:1px solid var(--line);z-index:2;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;display:flex;right:12px}.form-actions{flex-direction:column-reverse;gap:12px}.form-actions button,.drawer form>.primary{justify-content:center;width:100%;min-height:50px}.timeline summary{min-height:48px}.login-story .brand{width:180px}.login-story h1{font-size:28px}.login-story{padding:24px}.login-form{padding:28px 24px max(28px,env(safe-area-inset-bottom))}.login-form .primary{min-height:50px}.setup{padding:32px 20px}body:has(.overlay){overflow:hidden}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.kanban{cursor:grab;scrollbar-width:thin}.kanban[data-panning=true]{cursor:grabbing;-webkit-user-select:none;user-select:none}.kanban[data-panning=true] .student-card{cursor:grabbing}.student-card{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.board-hint{color:var(--muted);margin:-8px 0 14px;font-size:11px}@media (max-width:700px){.board-hint{display:none}}.student-card[data-lifted=true]{opacity:.35}.kanban[data-dragging=true]{cursor:grabbing}.kanban[data-dragging=true] .lane{transition:background .15s,border-color .15s}.lane[data-over=true]{border:2px dashed var(--orange);background:#fff3e8}.board-tabs button[data-over=true]{outline:2px dashed var(--orange);outline-offset:2px}.drag-ghost{z-index:40;pointer-events:none;border:1px solid var(--orange);background:#fff;border-radius:10px;flex-direction:column;gap:3px;min-width:170px;padding:10px 14px;display:flex;position:fixed;transform:translate(-50%,-120%)rotate(-2deg);box-shadow:0 12px 30px #0002}.drag-ghost strong{font-size:13px}.drag-ghost small{color:var(--muted);font-size:10px}.overlay.center{justify-content:center;align-items:center;padding:16px}.dialog{background:#fff;border-radius:14px;width:380px;max-width:100%;padding:26px;box-shadow:0 20px 60px #0003}.dialog h2{margin:0 0 8px}.board-message{margin-bottom:16px}.crumbs{color:var(--muted);align-items:center;gap:6px;margin-bottom:16px;font-size:12px;display:flex}.crumbs a:hover{color:var(--orange)}.crumbs span{color:var(--ink);font-weight:600}.student-header{padding:26px 28px}.student-id{align-items:center;gap:18px;display:flex}.avatar.big{width:68px;height:68px;font-size:22px}.student-id h1{margin:0 0 6px;font-size:30px}.student-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;font-size:13px;display:flex}.status-pill{color:#687280;background:#f0f3f5;border-radius:20px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.status-pill:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.status-pill.active{color:#2f8a46;background:#e9f7ec}.status-pill.cancelled{color:#a83828;background:#fff0ee}.student-facts{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;margin:22px 0 0;padding-top:18px;display:grid}.student-facts>div{border-left:1px solid var(--line);grid-template-columns:auto 1fr;align-items:center;column-gap:8px;padding:4px 16px;display:grid}.student-facts>div:first-child{border-left:0;padding-left:0}.student-facts svg{color:var(--muted);grid-row:span 2}.student-facts dt{color:var(--muted);text-transform:uppercase;letter-spacing:.8px;font-size:10px}.student-facts dd{margin:2px 0 0;font-size:13px;font-weight:600}.student-grid{grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);align-items:start;gap:22px;display:grid}.student-side{flex-direction:column;gap:0;display:flex;position:sticky;top:20px}.panel-title .outline.small{color:var(--orange);border-color:var(--orange);padding:8px 12px;font-size:12px}.history{margin:22px 0 0;padding:0 0 0 22px;list-style:none;position:relative}.history:before{content:"";background:#ffe3d0;width:2px;position:absolute;top:8px;bottom:8px;left:5px}.history li{border-bottom:1px solid var(--line);margin-bottom:22px;padding:0 0 22px;position:relative}.history li:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.history li:before{content:"";background:var(--orange);border-radius:50%;width:12px;height:12px;position:absolute;top:4px;left:-22px;box-shadow:0 0 0 4px #fff}.history-head{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.history-head strong{color:#687280;font-weight:700}.history-head strong.done{color:var(--orange)}.history-head span:after{content:"·";margin-left:8px}.history p{white-space:pre-wrap;margin:8px 0;font-size:14px;line-height:1.7}.history small{color:var(--muted);align-items:center;gap:6px;font-size:11px;display:flex}.next-action h2,.student-side h2{margin:0 0 14px;font-size:17px}.next-card{color:var(--orange);background:#fff5eb;border:1px solid #f5e2d1;border-radius:10px;align-items:flex-start;gap:12px;padding:14px;display:flex}.next-card.due{background:#fff0e0;border-color:#f3c79f}.next-card div{color:var(--ink);flex-direction:column;gap:3px;display:flex}.next-card strong{font-size:14px}.next-card span{font-size:13px;font-weight:600}.next-card small{color:var(--muted);font-size:11px}.primary.wide{width:100%;margin-top:12px}.form-actions.stack{flex-direction:column}.form-actions.stack button{width:100%}@media (max-width:1100px){.student-grid{grid-template-columns:1fr}.student-side{order:-1;position:static}}@media (max-width:700px){.student-header{padding:20px}.student-id h1{font-size:23px}.avatar.big{width:54px;height:54px;font-size:18px}.student-facts{grid-template-columns:1fr 1fr;row-gap:14px}.student-facts>div{border-left:0;padding-left:0}.panel-title .outline.small{justify-content:center;width:100%}}.history .expandable{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.history .expandable.open{-webkit-line-clamp:unset;line-clamp:unset;display:block}.text-toggle{min-height:0;color:var(--orange);background:0 0;border:0;margin:-2px 0 10px;padding:0;font-size:12px;font-weight:700}.text-toggle:hover{text-decoration:underline}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.finance-filters{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.search-field,.period-field{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:10px;align-items:center;gap:10px;margin:0;padding:0 14px;font-weight:400;display:flex}.search-field{flex:1;min-width:220px}.period-field{min-width:220px}.search-field input,.period-field select{background:0 0;border:0;min-height:0;margin:0;padding:12px 0}.search-field input:focus,.period-field select:focus{outline:none}.search-field:focus-within,.period-field:focus-within{border-color:var(--orange)}.finance-table-panel{padding:0;overflow:hidden}.finance-table{border-collapse:collapse;width:100%;font-size:13px}.finance-table th{text-align:left;color:#687280;border-bottom:1px solid var(--line);background:#fcfcfd;padding:14px 18px;font-size:11px;font-weight:700}.finance-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:13px 18px}.finance-table tr:last-child td{border-bottom:0}.finance-table tbody tr:hover{background:#fffaf5}.person{align-items:center;gap:12px;display:flex}.state-pill{white-space:nowrap;border-radius:7px;align-items:center;gap:7px;padding:5px 10px;font-size:11px;font-weight:600;display:inline-flex}.state-pill:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.state-pill.ok{color:#2f8a46;background:#e9f7ec}.state-pill.warn{color:#c4610f;background:#fff1e4}.state-pill.late{color:#b23a2a;background:#fff0ee}.small-action{color:var(--orange);white-space:nowrap;border-color:#f3c7a4;padding:7px 14px;font-size:12px}.finance-empty{text-align:center;color:var(--muted);margin:0;padding:40px 20px}.next-renewal h2{margin:0 0 14px;font-size:16px}.next-renewal-row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.next-renewal-who{flex-direction:column;flex:1;gap:4px;min-width:160px;display:flex}.next-renewal-who strong{font-size:16px}.next-renewal-who span{color:var(--muted);font-size:13px}.next-renewal-actions{flex-wrap:wrap;gap:10px;display:flex}@media (max-width:900px){.finance-table thead{display:none}.finance-table,.finance-table tbody,.finance-table tr,.finance-table td{width:100%;display:block}.finance-table tr{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:8px 12px;padding:14px 16px;display:grid}.finance-table tr:last-child{border-bottom:0}.finance-table td{border:0;padding:0;font-size:13px}.finance-table td:first-child,.finance-table td:last-child{grid-column:1/-1}.finance-table td[data-label]:not(:first-child):before{content:attr(data-label);color:var(--muted);text-transform:uppercase;letter-spacing:.6px;margin-bottom:2px;font-size:10px;display:block}.small-action,.next-renewal-actions,.next-renewal-actions a{justify-content:center;width:100%}}.metric strong{white-space:nowrap;overflow-wrap:normal}@media (max-width:700px){.metric strong{font-size:clamp(18px,5.4vw,26px)}.period-field,.search-field{flex:100%;width:100%;min-width:0}}.metric.alert .metric-icon{color:#b23a2a;background:#fff0ee}.dash-table{border-collapse:collapse;width:100%;margin-top:14px;font-size:13px}.dash-table th{text-align:left;letter-spacing:.8px;text-transform:uppercase;color:#8a93a0;border-bottom:1px solid var(--line);padding:0 8px 10px;font-size:10px;font-weight:700}.dash-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:11px 8px}.dash-table th:first-child,.dash-table td:first-child{padding-left:0}.dash-table tr:last-child td{border-bottom:0}.dash-table .person:hover strong{color:var(--orange)}.dash-empty{color:var(--muted);text-align:center;margin:0;padding:30px 0 10px}.dash-more{color:var(--orange);margin-top:12px;font-size:12px;font-weight:600;display:block}.chart-panel .panel-title{margin-bottom:18px}.chart-range{color:var(--muted);border:1px solid var(--line);border-radius:8px;padding:6px 10px;font-size:12px}.bar-chart{background:repeating-linear-gradient(to top,transparent 0,transparent 39px,var(--line) 39px,var(--line) 40px);grid-template-columns:repeat(6,1fr);align-items:end;gap:18px;height:200px;padding-top:6px;display:grid}.bar-col{flex-direction:column;align-items:center;gap:6px;height:100%;display:flex}.bar-value{color:var(--ink);font-size:12px;font-weight:700}.bar-track{flex:1;justify-content:center;align-items:flex-end;width:100%;display:flex}.bar{background:linear-gradient(180deg,#f7913a,var(--orange));border-radius:6px 6px 0 0;width:min(72%,90px);min-height:3px}.bar-label{color:var(--muted);text-transform:capitalize;background:#fff;padding:0 4px;font-size:12px}@media (max-width:900px){.dash-table th:nth-child(3),.dash-table td:nth-child(3){display:none}}@media (max-width:700px){.bar-chart{gap:8px;height:170px}.metric small{display:none}}.student-header{position:relative}.status-menu{z-index:5;position:absolute;top:26px;right:28px}.status-menu summary{cursor:pointer;color:var(--orange);border-color:var(--orange);padding:9px 14px;font-size:12px;list-style:none}.status-menu summary::-webkit-details-marker{display:none}.status-menu form{border:1px solid var(--line);background:#fff;border-radius:12px;width:280px;padding:18px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 14px 40px #0002}.status-menu form label{margin-bottom:12px}.status-menu form .primary{width:100%}@media (max-width:700px){.status-menu{margin-top:16px;position:static}.status-menu summary{justify-content:center;width:100%}.status-menu form{width:100%;box-shadow:none;margin-top:8px;position:static}}.dashboard-grid+.dashboard-grid{margin-top:0}.chart-range.negative{color:#b23a2a;border-color:#f3c0b8}.flow-legend{color:var(--muted);gap:16px;margin:10px 0 6px;font-size:12px;display:flex}.flow-legend span{align-items:center;gap:6px;display:flex}.flow-legend span:before{content:"";border-radius:3px;width:10px;height:10px}.flow-legend .in:before{background:var(--orange)}.flow-legend .out:before{background:#c9ced6}.flow-chart{border-bottom:1px solid var(--line);grid-template-columns:repeat(6,1fr);gap:12px;height:190px;padding-top:18px;display:grid}.flow-col{flex-direction:column;align-items:center;height:100%;display:flex}.flow-bars{flex:1;justify-content:center;align-items:flex-end;gap:4px;width:100%;display:flex}.flow-bar{border-radius:5px 5px 0 0;width:min(34%,26px);min-height:2px;position:relative}.flow-bar span{color:var(--ink);font-size:11px;font-weight:700;position:absolute;top:-17px;left:50%;transform:translate(-50%)}.flow-bar.in{background:linear-gradient(180deg,#f7913a,var(--orange))}.flow-bar.out{background:#c9ced6}.flow-col .bar-label{margin-top:6px;padding:0}.big-number{letter-spacing:-1px;align-items:baseline;gap:8px;margin:12px 0 16px;font-family:Manrope,Arial,sans-serif;font-size:30px;display:flex}.big-number small{color:var(--muted);letter-spacing:0;font-size:13px;font-weight:600}.hbars{flex-direction:column;gap:14px;display:flex}.hbar-head{justify-content:space-between;margin-bottom:6px;font-size:13px;display:flex}.hbar-head strong{font-size:13px}.hbar-track{background:#f2f3f5;border-radius:10px;height:10px;overflow:hidden}.hbar-track div{background:linear-gradient(90deg,#f7913a,var(--orange));border-radius:10px;min-width:4px;height:100%}.hbar small{color:var(--muted);margin-top:4px;font-size:11px;display:block}.health-bar{background:#f2f3f5;border-radius:10px;gap:2px;height:14px;display:flex;overflow:hidden}.health-bar .h-ok{background:#3fa35b}.health-bar .h-today{background:#f7913a}.health-bar .h-waiting{background:#c9ced6}.health-bar .h-late{background:#d9483b}.health-legend{grid-template-columns:1fr 1fr;gap:10px 16px;margin:16px 0 0;padding:0;font-size:13px;list-style:none;display:grid}.health-legend li{background:0 0;align-items:center;gap:8px;display:flex}.health-legend li:before{content:"";border-radius:3px;flex-shrink:0;width:10px;height:10px}.health-legend li.h-ok:before{background:#3fa35b}.health-legend li.h-today:before{background:#f7913a}.health-legend li.h-waiting:before{background:#c9ced6}.health-legend li.h-late:before{background:#d9483b}.health-legend b{margin-left:auto}.panel-title+.hbars{margin-top:16px}.account-link{border-radius:9px;flex:1;align-items:center;gap:9px;min-width:0;display:flex}.account-link:hover strong{color:var(--orange)}img.avatar.photo{object-fit:cover;padding:0}.profile-form{flex-wrap:wrap;align-items:flex-start;gap:24px;margin-top:18px;display:flex}.avatar-picker{color:#a65428;background:#ffeadc;border:0;border-radius:50%;flex-shrink:0;width:96px;height:96px;padding:0;font-size:28px;font-weight:700;position:relative;overflow:visible}.avatar-picker img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.avatar-picker span{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.avatar-picker i{background:var(--orange);color:#fff;border:3px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex;position:absolute;bottom:0;right:0}.profile-fields{flex:1;min-width:220px;max-width:420px}.profile-fields label{margin-bottom:6px}.profile-fields small{color:var(--muted);margin-bottom:16px;font-size:12px;display:block}[hidden]{display:none!important}.team-panel .panel-title{align-items:flex-start}.team-new{position:relative}.team-new>summary{cursor:pointer;list-style:none}.team-new>summary::-webkit-details-marker{display:none}.team-list summary::-webkit-details-marker{display:none}.team-new[open]>summary{margin-bottom:0}.team-new .team-form{z-index:6;border:1px solid var(--line);background:#fff;border-radius:12px;width:360px;padding:20px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 14px 40px #0002}.team-form label{margin-bottom:12px}.team-form fieldset{border:1px solid var(--line);border-radius:10px;margin:0 0 12px;padding:12px 14px 4px}.team-form legend{padding:0 4px;font-size:12px;font-weight:700}.team-form label.check{align-items:center;gap:10px;margin-bottom:10px;font-weight:500;display:flex}.team-form label.check input{width:18px;height:18px;min-height:0;accent-color:var(--orange);margin:0}.team-form .primary{width:100%}.team-form:has(select[name=role] option[value=admin]:checked) .teacher-only{display:none}.team-list{margin:16px 0 0;padding:0;list-style:none}.team-list li{border-top:1px solid var(--line)}.team-list li.inactive summary{opacity:.6}.team-list summary{cursor:pointer;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 0;list-style:none;display:flex}.team-who{flex:1;min-width:160px}.team-who strong{font-size:13px;display:block}.team-who small{color:var(--muted);font-size:11px}.team-units{color:var(--muted);font-size:12px}.team-list details[open] .team-form{max-width:420px;padding:4px 0 18px}.password-form{grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;margin-top:14px;display:grid}.password-form label{margin:0}@media (max-width:700px){.team-new .team-form{width:100%;box-shadow:none;margin-top:10px;position:static}.team-panel .panel-title{flex-direction:column}.team-new,.team-new>summary{justify-content:center;width:100%}.password-form{grid-template-columns:1fr}}.login-story:before{content:"";opacity:.13;filter:saturate(.7);pointer-events:none;background:url(/login-owners.webp) 50% 25%/cover no-repeat;position:absolute;inset:0}.login-story>*{z-index:1}.login-story>:not(.brand):not(small){position:relative}@media (max-width:700px){.login-story:before{opacity:.1}}.login-story>p{color:#7a6252}.student-card{position:relative}.late-badge{color:#c4610f;background:#fff1e4;border-radius:20px;padding:4px 9px;font-size:10px;font-weight:700;position:absolute;top:14px;right:14px}.late-badge.late{color:#b23a2a;background:#fde8e5}.renewal-summary{flex-wrap:wrap;gap:12px;margin:-6px 0 18px;display:flex}.renewal-summary>div{color:#7a5a3f;background:#fff5eb;border:1px solid #f5e2d1;border-radius:10px;align-items:center;gap:10px;padding:10px 14px;font-size:13px;display:flex}.renewal-summary strong{color:var(--orange);font-family:Manrope,Arial,sans-serif;font-size:20px}.renewal-summary>div.late{color:#8f3a2e;background:#fff0ee;border-color:#f6cfc8}.renewal-summary>div.late strong{color:#b23a2a}.view-toggle{border:1px solid var(--line);background:#fff;border-radius:10px;display:flex;overflow:hidden}.view-toggle button{color:var(--muted);border:0;border-radius:0;align-items:center;gap:6px;min-height:0;padding:10px 14px;font-size:13px;display:flex}.view-toggle button[aria-pressed=true]{background:var(--peach);color:var(--orange);font-weight:700}.renewal-board{cursor:grab;scrollbar-width:thin;grid-auto-columns:minmax(250px,1fr);grid-auto-flow:column;gap:14px;padding-bottom:10px;display:grid;overflow-x:auto}.renewal-board[data-panning=true]{cursor:grabbing;-webkit-user-select:none;user-select:none}.renewal-lane{border:1px solid var(--line);background:#f0f2f5;border-radius:12px;align-self:start;min-height:300px;padding:12px}.renewal-lane header{padding:2px 4px 12px}.renewal-lane h2{justify-content:space-between;align-items:center;margin:0 0 4px;font-size:14px;display:flex}.renewal-lane h2 span{background:#fff;border-radius:6px;padding:2px 8px;font-size:12px}.renewal-lane header small{color:var(--muted);font-size:11px}.renewal-card{border:1px solid var(--line);background:#fff;border-left:4px solid #3fa35b;border-radius:10px;flex-direction:column;gap:10px;margin-bottom:10px;padding:14px;display:flex}.renewal-card.warn{border-left-color:#f7913a}.renewal-card.urgent{border-left-color:#e2603a}.renewal-card.late{background:snow;border-left-color:#b23a2a}.renewal-card-top{align-items:center;gap:10px;display:flex}.renewal-card-top strong{font-size:13px;display:block}.renewal-card-top small{color:var(--muted);font-size:11px}.renewal-card .state-pill{align-self:flex-start}.renewal-card dl{grid-template-columns:1fr 1fr;gap:6px;margin:0;display:grid}.renewal-card dt{color:var(--muted);text-transform:uppercase;letter-spacing:.6px;font-size:10px}.renewal-card dd{margin:2px 0 0;font-size:13px;font-weight:600}.renewal-actions{gap:8px;display:flex}.renewal-actions .outline{min-height:0;padding:7px 10px}.renewal-actions .small-action{flex:1;justify-content:center}@media (max-width:700px){.renewal-board{scroll-snap-type:x mandatory;grid-auto-columns:85%}.renewal-lane{scroll-snap-align:start}.view-toggle{width:100%}.view-toggle button{flex:1;justify-content:center}}.student-actions{z-index:5;gap:10px;display:flex;position:absolute;top:26px;right:28px}.student-actions .status-menu{position:relative;top:auto;right:auto}.edit-form{width:320px!important}@media (max-width:700px){.student-actions{flex-direction:column;margin-top:16px;position:static}.student-actions .status-menu{margin-top:0}}.whatsapp{color:#fff;background:linear-gradient(135deg,#25d366,#128c7e);border:0;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-weight:700;display:inline-flex}.whatsapp:hover{background:linear-gradient(135deg,#20bd5a,#0f7a6d)}.whatsapp.wide{width:100%;margin-top:12px}.whatsapp.icon{padding:7px 10px}.student-photo{padding:0;position:relative;overflow:hidden}.student-photo img{object-fit:cover;border-radius:50%;width:100%;height:100%}.student-photo span{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.student-photo.editable{cursor:pointer;margin:0;overflow:visible}.student-photo.editable i{background:var(--orange);color:#fff;border:3px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;display:flex;position:absolute;bottom:-2px;right:-2px}.student-photo.busy{opacity:.6}.student-photo-form{margin:0}.edit-form{max-height:min(70vh,640px);overflow:auto}.edit-form .form-grid{grid-template-columns:1fr 1fr;gap:0 10px}.edit-section{border-top:1px solid var(--line);margin:6px 0 10px;padding-top:12px;font-size:13px}.status-menu form.edit-form{width:380px!important}.status-pill.paused{color:#9a6b00;background:#fff6d6}.inactive-lane{background:#f6f6f7!important;border-top:3px solid #c9ced6!important}.inactive-lane .student-card{cursor:pointer;opacity:.9}@media (max-width:700px){.board-tabs{grid-template-columns:1fr 1fr}.board-tabs button:last-child{grid-column:1/-1}}.topbar{gap:12px}.period-picker{margin-left:auto;position:relative}.period-picker>summary{cursor:pointer;border:1px solid var(--line);white-space:nowrap;background:#fff;border-radius:9px;align-items:center;gap:8px;padding:9px 12px;font-size:13px;list-style:none;display:flex}.period-picker>summary::-webkit-details-marker{display:none}.period-picker[open]>summary{border-color:var(--orange)}.period-menu{z-index:20;border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;gap:12px;width:300px;padding:16px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 14px 40px #0002}.period-presets{grid-template-columns:1fr 1fr;gap:8px;display:grid}.period-presets button{min-height:0;padding:9px;font-size:12px}.period-presets button:hover{border-color:var(--orange);color:var(--orange)}.period-menu label{margin:0;font-size:12px}.period-row{gap:8px;margin-top:6px;display:flex}.period-row input{flex:1;min-width:0;margin:0}.period-row .outline{min-height:0;padding:9px 12px}@media (max-width:700px){.topbar{flex-wrap:wrap}.period-picker{width:100%;margin-left:0}.period-picker>summary{justify-content:space-between}.period-menu{width:auto;position:fixed;top:auto;left:16px;right:16px}}.student-main{flex-direction:column;min-width:0;display:flex}.field-hint{color:var(--muted);margin-top:5px;font-size:11px;font-weight:500;display:block}.plan-panel .panel-title{flex-wrap:wrap;align-items:flex-start;gap:10px}.renew-menu{position:relative!important;top:auto!important;right:auto!important}.renew-menu>summary{align-items:center;gap:6px;display:inline-flex}.renew-menu form{left:auto;right:0}.plan-current{background:var(--bg);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:14px;padding:14px 16px;display:flex}.plan-current>div{flex-direction:column;gap:4px;display:flex}.plan-current>div:last-child{align-items:flex-end}.plan-current strong{font-size:14px}.plan-current small{color:var(--muted);font-size:12px}.billing-tag{border-radius:6px;padding:3px 8px;font-size:11px;font-weight:700}.billing-tag.upfront{color:#2f8a46;background:#e9f7ec}.billing-tag.recurring{color:#3559b7;background:#eef3ff}.plan-paid{color:#2f8a46;align-items:center;gap:8px;margin:12px 0 0;font-size:13px;font-weight:600;display:flex}.charge-list{flex-direction:column;gap:8px;margin:14px 0 0;padding:0;list-style:none;display:flex}.charge-list li{border:1px solid var(--line);border-radius:10px;grid-template-columns:110px 1fr auto auto;align-items:center;gap:12px;padding:10px 12px;font-size:13px;display:grid}.charge-list li.late{background:snow;border-color:#f6cfc8}.charge-list li.today{background:#fffaf4;border-color:#f3c79f}.charge-list form{margin:0}.charge-amount{font-weight:700}.state-pill.neutral{color:#687280;background:#f0f3f5}.confirm-pay{color:#fff;white-space:nowrap;background:linear-gradient(135deg,#3fa35b,#2f8a46);border:0;border-radius:8px;width:100%;min-height:0;padding:8px 12px;font-size:12px;font-weight:700}.confirm-pay:hover{filter:brightness(.95)}.plan-history{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}.plan-history summary{cursor:pointer;color:var(--muted);font-size:13px;font-weight:700}.plan-history ul{margin:10px 0 0;padding:0;list-style:none}.plan-history li{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;display:flex}.plan-history li:last-child{border-bottom:0}.plan-history li>div{flex-direction:column;gap:3px;display:flex}.plan-history li>div:last-child{flex-direction:row;align-items:center;gap:10px}.plan-history strong{font-size:13px}.plan-history small{color:var(--muted);font-size:11px}.charges-board .lane-late{background:#fdf1ef;border-color:#f6d5cf}.charges-board .lane-today{background:#fff4e8;border-color:#f5dcc2}.charges-board .lane-paid{background:#eef8f0;border-color:#d4ebd9}.charge-card .grow{flex:1}.received-chart .bar{background:linear-gradient(#58b874,#2f8a46)}.received-chart .bar-value{font-size:11px}@media (max-width:700px){.charge-list li{grid-template-columns:1fr auto}.charge-list li .state-pill{justify-self:start}.charge-list li form{grid-column:1/-1}.plan-current>div:last-child{align-items:flex-start}}.bell{position:relative}.bell>summary{cursor:pointer;border:1px solid var(--line);color:#4e5867;background:#fff;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;list-style:none;display:flex;position:relative}.bell>summary::-webkit-details-marker{display:none}.bell[open]>summary{border-color:var(--orange);color:var(--orange)}.bell-count{color:#fff;background:#d9483b;border:2px solid #fff;border-radius:10px;justify-content:center;align-items:center;min-width:19px;height:19px;padding:0 5px;font-size:10px;font-weight:700;display:flex;position:absolute;top:-6px;right:-6px}.bell-menu{z-index:25;border:1px solid var(--line);background:#fff;border-radius:12px;width:340px;max-height:70vh;position:absolute;top:calc(100% + 8px);right:0;overflow:auto;box-shadow:0 14px 40px #0002}.bell-menu header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;padding:14px 16px;display:flex;position:sticky;top:0}.bell-menu header strong{font-size:14px}.link-button{min-height:0;color:var(--orange);background:0 0;border:0;padding:0;font-size:12px;font-weight:600}.bell-menu ul{margin:0;padding:6px;list-style:none}.bell-menu li{border-left:3px solid #f7913a;border-radius:9px;align-items:center;gap:8px;padding:10px;display:flex}.bell-menu li.late{border-left-color:#d9483b}.bell-menu li:hover{background:#fffaf5}.bell-menu li a{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.bell-menu li strong{font-size:13px}.bell-menu li span{color:var(--muted);font-size:12px}.bell-check{border:1px solid var(--line);color:#2f8a46;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;min-height:0;padding:0;display:flex}.bell-check:hover{background:#e9f7ec;border-color:#bfe3c8}.bell-empty{text-align:center;color:var(--muted);margin:0;padding:24px;font-size:13px}@media (max-width:700px){.bell-menu{width:auto;position:fixed;top:70px;left:16px;right:16px}}.charge-later{margin-top:8px}.charge-later summary{cursor:pointer;color:var(--muted);padding:6px 0;font-size:12px;font-weight:600}.renewal-card{transition:box-shadow .15s,transform .15s;position:relative}.renewal-card:hover{transform:translateY(-1px);box-shadow:0 6px 18px #0000000f}.card-link{z-index:1;border-radius:inherit;position:absolute;inset:0}.card-link:focus-visible{outline:2px solid var(--orange);outline-offset:2px}.renewal-card .renewal-actions{z-index:2;position:relative}.history-head strong.system{color:#8a93a0}.history-head .edited{color:var(--muted);background:#f0f3f5;border-radius:6px;padding:2px 6px;font-size:10px;font-style:normal}.history-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:8px;display:flex}.history-actions form{margin:0}.history-actions .link-button{align-items:center;gap:5px;display:inline-flex}.history-actions .link-button.danger{color:#b23a2a}.history-actions small{color:var(--muted);font-size:11px}.history-edit{margin-top:8px}.history-edit textarea{margin:0 0 8px}.check-field{align-items:center;gap:10px;margin:4px 0 16px;font-weight:600;display:flex}.check-field input{width:18px;height:18px;min-height:0;accent-color:var(--orange);margin:0}.invoice-tag{color:#3559b7;background:#eef3ff;border-radius:20px;padding:4px 10px;font-size:11px;font-weight:700}.invoices-panel .panel-title{flex-wrap:wrap;align-items:flex-start;gap:12px;margin-bottom:14px}.invoices-panel .panel-title small{margin-top:4px;display:block}.primary.disabled{opacity:.5;pointer-events:none}.finance-table td.missing{color:#b23a2a;font-weight:600}.finance-empty svg{vertical-align:-3px;margin-right:6px}.forecast{flex-wrap:wrap;gap:12px;margin:-6px 0 20px;display:flex}.forecast>div{border:1px solid;border-radius:10px;align-items:center;gap:10px;padding:10px 14px;font-size:13px;display:flex}.forecast strong{font-family:Manrope,Arial,sans-serif;font-size:18px}.forecast .in{color:#2f6b3f;background:#eef8f0;border-color:#d4ebd9}.forecast .out{color:#8f3a2e;background:#fdf1ef;border-color:#f6d5cf}.forecast .late{color:#9a5a12;background:#fff4e8;border-color:#f5dcc2}.flow-legend .cash-in:before{background:#3fa35b}.flow-legend .cash-out:before{background:#d9483b}.flow-bar.cash-in{background:linear-gradient(#58b874,#2f8a46)}.flow-bar.cash-out{background:linear-gradient(#e9786c,#c23b2e)}.month-balance{color:#2f8a46;margin-top:2px;font-size:10px;font-weight:700}.month-balance.neg{color:#b23a2a}.segmented{border:1px solid var(--line);border-radius:10px;margin-bottom:14px;display:flex;overflow:hidden}.segmented label{cursor:pointer;flex:1;justify-content:center;align-items:center;gap:6px;margin:0;padding:10px;font-size:13px;display:flex}.segmented input{opacity:0;pointer-events:none;position:absolute}.segmented label:has(input:checked){background:var(--peach);color:var(--orange);font-weight:700}.expense-form .primary{width:100%;margin-top:4px}.expense-table tr.future{opacity:.65}.row-menu{display:inline-block;position:relative}.row-menu>summary{cursor:pointer;list-style:none}.row-menu>summary::-webkit-details-marker{display:none}.row-menu form{z-index:8;border:1px solid var(--line);background:#fff;border-radius:10px;width:220px;padding:12px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 30px #0002}.row-menu form label{margin-bottom:10px}.row-menu form .outline{width:100%}.fixed-list{margin:10px 0 0;padding:0;list-style:none}.fixed-list li{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:14px;padding:12px 0;display:flex}.fixed-list li:last-child{border-bottom:0}.fixed-list li>div{flex:1;min-width:180px}.fixed-list strong{font-size:13px;display:block}.fixed-list small{color:var(--muted);font-size:11px}.fixed-list li>span{font-weight:700}.fixed-list form.inline{margin:0}@media (max-width:700px){.row-menu form{width:auto;position:fixed;top:auto;left:16px;right:16px}}.fee-box{background:snow;border:1px dashed #f3c0b8;border-radius:10px;flex-wrap:wrap;align-items:baseline;gap:10px;margin-top:12px;padding:10px 14px;display:flex}.fee-box span{color:#8f3a2e;font-size:12px;font-weight:700}.fee-box strong{color:#b23a2a;font-family:Manrope,Arial,sans-serif;font-size:18px}.fee-box small{color:var(--muted);flex-basis:100%;font-size:11px}.renewal-card dd.fee{color:#b23a2a}.student-card .card-actions{z-index:2;border-top:1px solid var(--line);gap:8px;margin-top:14px;padding-top:12px;display:flex;position:relative}.student-card .card-actions .whatsapp.icon{padding:8px 10px}.waiting-btn,.update-btn{white-space:nowrap;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;min-height:0;padding:8px 10px;font-size:12px;font-weight:700;display:inline-flex}.waiting-btn{color:#8a5a12;background:#fffaf2;border-color:#f0d3a8}.waiting-btn:hover{background:#fff1dc}.update-btn{color:#fff}.student-card h3,.student-card small,.student-card p{z-index:0;position:relative}.student-card .late-badge{z-index:2}.move-btn{white-space:nowrap;color:#fff;background:linear-gradient(135deg,#f7913a,var(--orange));cursor:pointer;border:0;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;min-height:0;padding:8px 10px;font-size:12px;font-weight:700;display:inline-flex;box-shadow:0 2px 6px #f5661833}.move-btn:hover{filter:brightness(.95)}.move-btn svg{transition:transform .15s}.move-btn:hover svg{transform:translate(2px)}.whatsapp.icon.missing{color:#9aa1ab;cursor:not-allowed;background:#e9ecef}.lane-paused{background:#fffaf0!important;border-top-color:#e0a53a!important}.lane-cancelled{border-top-color:#d9534f!important}.kanban{grid-template-columns:repeat(6,minmax(200px,1fr))}.lane-campaign{background:#f6f3ff!important;border-top-color:#7c5cd6!important}.status-pill.campaign{color:#5b3fb8;background:#efeaff}.status-pill.lost{color:#687280;background:#f0f3f5}.campaign-actions{flex-wrap:wrap;align-items:flex-start;gap:10px;margin-top:14px;display:flex}.campaign-actions>details{flex:0 auto}.campaign-actions>details[open]{flex-basis:100%}.campaign-panel h3{color:var(--muted);margin:20px 0 6px;font-size:13px}.campaign-stats{grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0;display:grid}.campaign-stats div{background:var(--bg);border-radius:10px;padding:12px}.campaign-stats span{color:var(--muted);font-size:11px;display:block}.campaign-stats strong{font-size:22px}.campaign-money{color:var(--muted);flex-wrap:wrap;gap:18px;font-size:12px;display:flex}.campaign-money strong{color:var(--ink);margin-left:4px;font-size:15px}@media (max-width:700px){.campaign-stats{grid-template-columns:1fr 1fr}}.campaign-actions .status-menu{position:static}.campaign-actions .status-menu form{width:100%;max-width:560px;box-shadow:none;margin-top:10px;position:static}@media (min-width:701px){.kanban{grid-template-columns:repeat(6,290px);padding-bottom:10px;overflow-x:auto}}.move-btn,.update-btn{white-space:normal;text-align:center;line-height:1.25}.topbar{justify-content:flex-start}.topbar>.bell{margin-left:auto}.topbar>.period-picker{margin-left:0}@media (max-width:700px){.board-tabs button:last-child{grid-column:auto}.board-tabs button:last-child:nth-child(odd){grid-column:1/-1}}.sheet-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#161e3040;animation:.2s sheet-fade}.sheet-backdrop{position:absolute;inset:0}.sheet{background:#fff;border-radius:18px 0 0 18px;flex-direction:column;width:580px;max-width:100%;height:100%;animation:.25s sheet-in;display:flex;position:relative;overflow:hidden;box-shadow:-18px 0 50px #0000001f}.sheet-head{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:22px 26px;display:flex}.sheet-head h2{margin:0;font-size:22px}.sheet-icon{background:var(--peach);width:42px;height:42px;color:var(--orange);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sheet-close{border:1px solid var(--line);width:40px;height:40px;color:var(--muted);border-radius:10px;justify-content:center;align-items:center;margin-left:auto;display:flex}.sheet-close:hover{border-color:var(--orange);color:var(--orange)}.sheet form{flex-direction:column;flex:1;min-height:0;display:flex}.sheet-scroll{background:var(--bg);overscroll-behavior:contain;flex-direction:column;flex:1;gap:16px;padding:20px 26px;display:flex;overflow:auto}.sheet-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:20px 20px 6px}.sheet-card h3{color:var(--ink);align-items:center;gap:8px;margin:0 0 18px;font-size:14px;display:flex}.sheet-card h3 svg{color:var(--orange)}.sheet label{color:#4e5867;margin-bottom:14px;font-size:12px}.sheet input,.sheet select{background:#fcfcfd;border-radius:10px;padding:11px 12px;transition:border-color .15s,box-shadow .15s}.sheet input:focus,.sheet select:focus{border-color:var(--orange);background:#fff;outline:none;box-shadow:0 0 0 3px #f5661822}.sheet .check-field{color:var(--ink);margin:0 0 14px}.sheet .field-hint{margin-top:6px}.sheet-foot{border-top:1px solid var(--line);background:#fff;justify-content:flex-end;gap:10px;padding:16px 26px;display:flex}.sheet-foot .outline{justify-content:center}.sheet-foot .primary{min-width:190px}@keyframes sheet-in{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:none}}@keyframes sheet-fade{0%{opacity:0}to{opacity:1}}@media (max-width:700px){.sheet{border-radius:0;width:100%;height:100dvh}.sheet-head{padding:calc(14px + env(safe-area-inset-top)) 16px 14px}.sheet-scroll{padding:16px}.sheet-card{padding:16px 16px 4px}.sheet-foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.sheet-foot>*{flex:1}.sheet-foot .primary{min-width:0}}@media (prefers-reduced-motion:reduce){.sheet,.sheet-overlay{animation:none}}.status-chips{flex-wrap:wrap;gap:8px;margin:16px 0 6px;display:flex}.status-chips a{border:1px solid var(--line);color:#4e5867;background:#fff;border-radius:20px;align-items:center;gap:7px;padding:7px 12px;font-size:12px;display:inline-flex}.status-chips a span{color:var(--muted);background:var(--bg);border-radius:10px;padding:1px 7px;font-size:11px}.status-chips a[aria-current=page]{border-color:var(--orange);background:var(--peach);color:var(--orange);font-weight:700}.status-chips a[aria-current=page] span{background:#fff}@media (max-width:700px){.status-chips{scrollbar-width:none;flex-wrap:nowrap;margin-inline:-18px;padding:0 18px 4px;overflow-x:auto}.status-chips a{white-space:nowrap;min-height:40px}.topbar{gap:8px}.topbar>.bell{order:2;margin-left:0}.topbar>.bell>summary{width:44px;height:44px}.topbar>.period-picker{flex:1;order:1;width:auto;min-width:0}.topbar>.unit-form{order:3;width:100%}.topbar:not(:has(.period-picker))>.unit-form{flex:1;order:1;width:auto;min-width:0}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric,.metric>div{min-width:0}.metric strong{letter-spacing:-.5px;overflow-wrap:anywhere;font-size:clamp(17px,5.4vw,24px)}.metric small{overflow-wrap:anywhere;display:block}.status-menu form.edit-form{width:100%!important}.forecast{flex-direction:column}.forecast>div{min-width:0}}.segmented input{width:1px;height:1px;margin:0}@media (max-width:700px){.renew-menu{width:100%;min-width:0}.renew-menu>summary{justify-content:center;width:100%}.renew-menu form{width:100%}}.month-chips{scrollbar-width:thin;gap:8px;margin-bottom:12px;padding:2px 2px 8px;display:flex;overflow-x:auto}.month-chips a{border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;flex-shrink:0;gap:3px;min-width:128px;padding:10px 14px;display:flex}.month-chips strong{font-size:13px}.month-chips small{color:var(--muted);font-size:11px}.month-chips a.current strong:after{content:" · atual";color:var(--orange);font-weight:500}.month-chips a[aria-current=page]{border-color:var(--orange);background:var(--peach)}.month-chips a:hover{border-color:var(--orange)}@media (max-width:700px){.month-chips{margin-inline:-16px;padding-inline:16px}.month-chips a{min-height:52px}}.bar,.flow-bar{position:relative}.bar{overflow:hidden}.flow-bar span{z-index:1}.bar-camp{background:linear-gradient(#9b7fe6,#6c4fd0);border-radius:5px 5px 0 0;display:block;position:absolute;top:0;left:0;right:0}.flow-legend .camp:before{background:#7c5cd6}.flow-bar.camp{background:linear-gradient(#9b7fe6,#6c4fd0)}.camp-chart{height:150px;margin-top:4px}.hbar-camp{border-top:1px dashed var(--line);padding-top:14px}.hbar-camp .hbar-head small{color:var(--muted);margin-left:4px;font-size:11px}.hbar-camp .hbar-track div{background:linear-gradient(90deg,#9b7fe6,#6c4fd0)}.metric small{color:var(--muted);margin-top:4px;font-size:11px;display:block}
