:root{--ink:#203630;--muted:#73817d;--green:#315c52;--green-2:#47796c;--sage:#dfe9df;--cream:#f7f3e9;--paper:#fffdf8;--line:#e5e9e3;--ochre:#d89d49;--coral:#d97868;--blue:#6b8fa0;--shadow:0 14px 36px rgba(42,67,59,.08);--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f4f6f2;color:var(--ink);font-family:"DM Sans",sans-serif;font-size:14px}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2{font-family:"Playfair Display",serif}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:#244b43;color:#fff;padding:26px 18px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:11px}.brand-mark{width:39px;height:39px;border-radius:50% 50% 46% 54%;display:grid;place-items:center;background:#e9b669;color:#234b42;font:700 26px "Playfair Display"}.brand strong,.brand small{display:block}.brand strong{font-size:15px}.brand small{font-size:10px;opacity:.65;letter-spacing:.08em;text-transform:uppercase}.sidebar>.brand{padding:0 8px 24px;border-bottom:1px solid rgba(255,255,255,.12)}.sidebar nav{display:flex;flex-direction:column;gap:3px;padding-top:18px;overflow:auto}.nav-label{font-size:9px;text-transform:uppercase;letter-spacing:.18em;opacity:.45;padding:17px 11px 6px}.sidebar nav a,.sidebar-footer>a,.sidebar-footer form button{width:100%;border:0;color:rgba(255,255,255,.73);background:transparent;display:flex;align-items:center;gap:12px;padding:10px 11px;border-radius:9px;text-align:left;font-weight:500}.sidebar nav a:hover,.sidebar nav a.active,.sidebar-footer>a:hover,.sidebar-footer form button:hover{background:rgba(255,255,255,.11);color:#fff}.sidebar nav i,.sidebar-footer i{font-style:normal;width:18px;text-align:center;font-size:17px}.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding-top:10px}.user-chip{display:flex;gap:10px;align-items:center;margin-top:12px;padding:11px 8px}.user-chip>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e8b66d;color:#244b43;font-weight:700}.user-chip strong,.user-chip small{display:block}.user-chip strong{font-size:12px}.user-chip small{font-size:10px;opacity:.5}.app-main{margin-left:248px;min-height:100vh}.page-wrap{padding:38px 42px 60px;max-width:1600px;margin:auto}.page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:28px}.page-header h1{font-size:34px;margin:5px 0;color:#253c36}.page-header h1 span{color:var(--ochre)}.page-header p{margin:0;color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:#86948f;font-size:10px;font-weight:700}.header-actions{display:flex;gap:10px;flex-wrap:wrap}.btn{border:0;border-radius:10px;padding:11px 17px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary{background:var(--green);color:#fff;box-shadow:0 7px 15px rgba(49,92,82,.15)}.btn-primary:hover{background:#244b43}.btn-soft{background:#fff;border:1px solid var(--line);color:var(--ink)}.btn-outline{border:1px solid currentColor;padding:10px 16px;border-radius:9px;font-weight:600}.btn-block{width:100%}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.metric-grid.three{grid-template-columns:repeat(3,1fr)}.metric{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;display:flex;gap:16px;align-items:center;box-shadow:0 8px 20px rgba(42,67,59,.03)}.metric-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-size:21px}.metric.green .metric-icon{background:#e3eee8;color:var(--green)}.metric.ochre .metric-icon{background:#fbefdb;color:#b47b27}.metric.coral .metric-icon{background:#f9e4e0;color:#bf6657}.metric.blue .metric-icon{background:#e3edf0;color:#527a8d}.metric span,.metric strong,.metric small{display:block}.metric span{font-size:11px;color:var(--muted);font-weight:600}.metric strong{font-size:24px;margin:3px 0}.metric small{font-size:10px;color:#9aa5a1}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 8px 22px rgba(36,75,67,.035)}.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.span-2{grid-column:span 2}.card-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:17px}.card-head h2{font-size:19px;margin:3px 0}.card-head>a,.text-link{color:var(--green-2);font-size:12px;font-weight:700}.table-wrap{overflow-x:auto;margin:0 -22px -22px}table{width:100%;border-collapse:collapse;white-space:nowrap}th{text-transform:uppercase;letter-spacing:.08em;color:#8a9793;font-size:9px;text-align:left;padding:10px 15px;border-bottom:1px solid var(--line)}td{padding:13px 15px;border-bottom:1px solid #edf0ed;color:#5b6965;font-size:12px}tbody tr:last-child td{border-bottom:0}.person{display:flex;align-items:center;gap:9px}.person>span,.avatar{width:34px;height:34px;border-radius:50%;background:#e3ece6;color:#345c51;display:grid;place-items:center;font-weight:700;overflow:hidden}.person strong{color:var(--ink)}.status{display:inline-flex;padding:4px 8px;border-radius:20px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:#eee;color:#666}.status.activo,.status.pagado{background:#dff0e5;color:#357158}.status.pendiente{background:#fcf0d9;color:#a36c20}.status.vencido{background:#f8dfda;color:#ad5449}.status.parcial{background:#e0ecf1;color:#527689}.status.retirado,.status.graduado{background:#eceeed;color:#747d7a}.balance-value{font:700 35px "Playfair Display";margin:22px 0}.negative,.money-out{color:#c85f51}.money-in{color:#39785c}.balance-row{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line);font-size:12px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:7px}.green-dot{background:#6f9d86}.coral-dot{background:#d97868}.balance-card .text-link{display:block;margin-top:15px}.mini-people{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.mini-people a{border:1px solid var(--line);border-radius:12px;padding:11px;display:flex;align-items:center;gap:10px}.mini-people a>span{width:33px;height:33px;display:grid;place-items:center;background:#e9efe9;border-radius:50%;font-size:10px;font-weight:700}.mini-people strong,.mini-people small{display:block}.mini-people small{font-size:9px;color:var(--muted)}.mini-people b{margin-left:auto;font-size:9px;color:var(--green-2)}.activity-list>div{display:flex;gap:11px;padding:11px 0;border-bottom:1px solid var(--line)}.activity-list>div>span{width:32px;height:32px;background:#f6ead6;color:#aa762d;display:grid;place-items:center;border-radius:10px}.activity-list p{margin:0}.activity-list strong,.activity-list small{display:block}.activity-list small{font-size:9px;color:var(--muted);margin-top:3px}.empty{color:#95a19d;text-align:center;padding:25px!important}.messages{position:fixed;right:22px;top:20px;z-index:100;display:flex;flex-direction:column;gap:8px}.message{background:#fff;padding:13px 15px;border-left:4px solid var(--green);box-shadow:var(--shadow);border-radius:8px;min-width:280px}.message button{border:0;background:none;float:right;color:#777}.toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.search{position:relative;max-width:420px;flex:1}.search span{position:absolute;left:14px;top:9px;font-size:20px;color:#84918c}.search input{width:100%;padding:12px 15px 12px 40px;border:1px solid var(--line);border-radius:11px;background:#fff;outline:none}.count{padding:5px 10px;background:#e9eeeb;color:#65736f;border-radius:20px;font-size:10px;font-weight:700}.people-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.person-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;text-align:center;transition:.2s}.person-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.person-card>.status{position:absolute;right:14px;top:14px}.avatar.large{width:66px;height:66px;margin:5px auto 12px;font-size:18px}.avatar.xlarge{width:90px;height:90px;font-size:24px;flex:none}.avatar img{width:100%;height:100%;object-fit:cover}.person-card h3{font:700 18px "Playfair Display";margin:0 0 4px}.person-card>p{color:var(--muted);font-size:11px}.person-meta{display:grid;grid-template-columns:1fr 1.6fr;text-align:left;border-top:1px solid var(--line);padding:13px 0}.person-meta span{color:#98a29f;font-size:9px;text-transform:uppercase;padding:4px}.person-meta strong{font-size:10px;padding:4px}.card-link{border-top:1px solid var(--line);padding-top:13px;text-align:left;color:var(--green-2);font-size:11px;font-weight:700}.card-link b{float:right}.empty-state{grid-column:1/-1;text-align:center;padding:70px 20px;border:1px dashed #cbd5d0;border-radius:var(--radius)}.empty-state>span{font-size:40px;color:#88a096}.empty-state h2{margin:12px 0 7px}.empty-state p{color:var(--muted)}.back{display:inline-block;margin-bottom:20px;color:var(--green-2);font-weight:700;font-size:12px}.profile-hero{display:flex;align-items:center;gap:20px;padding:25px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:18px}.profile-hero h1{font-size:31px;margin:5px 0}.profile-hero p{margin:0;color:var(--muted)}.profile-hero>.btn{margin-left:auto}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.details{display:grid;grid-template-columns:110px 1fr;gap:0;margin:0}.details dt,.details dd{padding:10px 0;border-bottom:1px solid var(--line);margin:0}.details dt{color:var(--muted);font-size:11px}.details dd{font-weight:600}.medical label{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin:14px 0 5px}.medical p{padding:12px;background:#f7f8f5;border-radius:10px}.file-list>a{display:flex;align-items:center;gap:12px;padding:11px;border-bottom:1px solid var(--line)}.file-list>a>span{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#eef2ed}.file-list strong,.file-list small{display:block}.file-list small{font-size:9px;color:var(--muted);margin-top:3px}.file-list b{margin-left:auto;color:var(--green-2);font-size:9px}.progress-item{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.progress-item p{margin:4px 0;color:var(--muted);font-size:11px}.stars{color:#dca649;font-weight:700;white-space:nowrap}.stars i{font-style:normal;color:#d9ddd9}.stars i.on{color:#dca649}.family-link{background:#f1f6f1;display:flex;justify-content:space-between;align-items:center;gap:20px}.family-link h2{margin:5px 0}.family-link p{margin:0;color:var(--muted)}.copy-box{display:flex;min-width:47%}.copy-box input{min-width:0;flex:1;border:1px solid var(--line);border-radius:10px 0 0 10px;padding:11px;background:#fff}.copy-box .btn{border-radius:0 10px 10px 0}.split-docs,.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}.notes-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.note{position:relative;border-radius:4px 18px 18px 18px;padding:22px;min-height:220px;box-shadow:0 10px 20px rgba(51,61,56,.06)}.note.amarillo{background:#fbefc9}.note.rosa{background:#f5dedc}.note.verde{background:#dfece1}.note.azul{background:#ddebef}.note small{color:#817d6e}.note h2{font-size:20px;margin:12px 0}.note p{line-height:1.6}.note form{position:absolute;bottom:14px;right:14px}.note form button{border:0;background:transparent;font-size:10px;color:#8a6b67}.pin{position:absolute;right:15px;top:15px;color:#b9794f}.transaction-list>div{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.transaction-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#e1efe6;color:#367359}.transaction-icon.gift{background:#f9edd8;color:#ae7624}.transaction-list strong,.transaction-list small{display:block}.transaction-list small{color:var(--muted);font-size:9px;margin-top:3px}.transaction-list b{margin-left:auto}.finance-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px}.tag{background:#eff2ef;padding:4px 8px;border-radius:14px;font-size:9px}.category-list>div{display:grid;grid-template-columns:75px 1fr 65px;align-items:center;gap:8px;padding:10px 0;font-size:10px}.category-list strong{text-align:right}.bar{height:7px;background:#edf0ed;border-radius:7px;overflow:hidden}.bar i{display:block;height:100%;background:#d19b4d;border-radius:7px}.callout{background:#e5eee7;border:1px solid #d6e3d9;border-radius:14px;padding:16px 20px;display:flex;align-items:center;gap:15px;margin-bottom:20px}.callout>span{font-size:25px}.callout strong,.callout p{display:block;margin:0}.callout p{font-size:11px;color:var(--muted);margin-top:3px}.callout a{margin-left:auto;font-weight:700;color:var(--green-2);font-size:11px}.feed{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.post-head{display:flex;align-items:center;gap:11px}.post-head h2{margin:0;font-size:18px}.post-head p{margin:3px 0 0;color:var(--muted);font-size:9px}.post-head>.status{margin-left:auto}.post-message{padding:18px 0 8px;line-height:1.55}.media-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.media-grid img,.media-grid video{width:100%;height:210px;object-fit:cover;border-radius:12px;background:#111}.tracking-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.tracking-head{display:flex;align-items:center;gap:12px}.tracking-head .avatar{margin:0}.tracking-head h2{margin:2px 0}.tracking-head p{margin:0;color:var(--muted);font-size:10px}.score{margin-left:auto;text-align:center}.score>span{display:block;color:#d5a143;font-size:20px}.score strong{font-size:21px}.score small{display:block;color:var(--muted);font-size:8px}.summary{padding:14px;background:#f6f8f4;border-radius:10px;line-height:1.5}.milestones>div{display:grid;grid-template-columns:85px 1fr auto;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);align-items:center}.milestones>div>span{font-size:9px;color:var(--muted);text-transform:uppercase}.milestones>div>strong{font-size:11px}.tracking footer{display:flex;justify-content:space-between;align-items:center;padding-top:15px}.tracking footer a{font-size:10px;color:var(--green-2);font-weight:700}.modal{padding:0;border:0;border-radius:18px;width:min(760px,calc(100% - 30px));max-height:88vh;box-shadow:0 25px 70px rgba(23,44,38,.25)}.modal::backdrop{background:rgba(25,48,42,.6);backdrop-filter:blur(3px)}.modal form{margin:0}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:22px 25px;border-bottom:1px solid var(--line)}.modal-head h2{margin:4px 0 0}.modal-head>button{width:32px;height:32px;border:0;border-radius:50%;font-size:20px;background:#f1f3f0;color:#65716e}.modal-body{padding:22px 25px;max-height:60vh;overflow-y:auto}.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:16px 25px;background:#f8f9f6;border-top:1px solid var(--line)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.form-group{display:flex;flex-direction:column;gap:5px}.form-group:has(textarea),.form-group:has(select[multiple]){grid-column:1/-1}.form-group label{font-size:10px;font-weight:700;color:#5e6b67;text-transform:uppercase;letter-spacing:.05em}.form-group label b{color:#c96759}.campo,.login-card input{width:100%;border:1px solid #dce2de;border-radius:9px;padding:10px 11px;background:#fff;color:var(--ink);outline:none}.campo:focus,.login-card input:focus{border-color:#6c9488;box-shadow:0 0 0 3px rgba(74,125,111,.1)}textarea.campo{resize:vertical}.form-group small,.form-hint{font-size:9px;color:#98a19e}.form-check{flex-direction:row-reverse;justify-content:flex-end;align-items:center}.form-check input{width:auto}.field-error,.form-errors{font-size:10px;color:#a84b40}.form-errors{padding:10px;background:#fae5e2;border-radius:8px;margin-bottom:10px}.public-page{background:var(--paper)}.public-shell{max-width:1200px;margin:auto;padding:22px 40px}.public-nav{display:flex;justify-content:space-between;align-items:center}.public-nav .brand strong{color:var(--ink)}.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:540px;align-items:center;gap:60px}.hero-copy h1{font-size:56px;line-height:1.08;margin:15px 0 22px}.hero-copy h1 em{color:#bb7d43;font-weight:600}.hero-copy p{font-size:17px;line-height:1.7;color:var(--muted);max-width:520px}.hero-art{height:410px;border-radius:45% 45% 20px 20px;background:#deebe3;position:relative;overflow:hidden}.sun{position:absolute;width:80px;height:80px;border-radius:50%;background:#f2bd62;top:50px;right:80px}.cloud{position:absolute;width:90px;height:25px;border-radius:25px;background:#fff;opacity:.75}.cloud:after{content:"";position:absolute;width:35px;height:35px;border-radius:50%;background:inherit;top:-16px;left:26px}.cloud.one{left:55px;top:90px}.cloud.two{right:32px;top:170px;transform:scale(.7)}.hill{position:absolute;border-radius:50% 50% 0 0}.h1{width:500px;height:220px;bottom:-65px;left:-100px;background:#729987;transform:rotate(8deg)}.h2{width:500px;height:190px;bottom:-72px;right:-150px;background:#4f786d;transform:rotate(-9deg)}.flower{position:absolute;z-index:2;color:#f3d08f;font-size:27px}.f1{bottom:85px;left:80px}.f2{bottom:45px;right:100px}.hero-badge{position:absolute;z-index:3;bottom:55px;left:50%;transform:translateX(-50%) rotate(-3deg);background:#fffaf0;padding:18px 30px;border-radius:50%;text-align:center;font-family:"Playfair Display";box-shadow:var(--shadow)}.purpose-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.purpose-grid article{display:grid;grid-template-columns:70px 1fr;gap:20px;padding:48px}.purpose-grid article:first-child{border-right:1px solid var(--line)}.purpose-grid article>span{font:600 32px "Playfair Display";color:#d8a65c}.purpose-grid small{color:var(--green-2);text-transform:uppercase;letter-spacing:.1em}.purpose-grid h2{font-size:30px;margin:6px 0 12px}.purpose-grid p{color:var(--muted);line-height:1.7}.public-footer{display:flex;justify-content:space-between;padding:30px 0;color:var(--muted);font-size:11px}.login-page{background:#e5eee7}.login-shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px}.login-brand{position:absolute;top:28px;left:35px}.login-card{width:min(420px,100%);background:#fff;padding:42px;border-radius:24px;text-align:center;box-shadow:0 20px 50px rgba(40,72,62,.12)}.login-icon{width:50px;height:50px;margin:0 auto 15px;display:grid;place-items:center;border-radius:50%;background:#f7e9cc;color:#ae762d;font-size:22px}.login-card h1{font-size:31px;margin:7px 0}.login-card>p{color:var(--muted);margin-bottom:25px}.login-card form{text-align:left}.login-card label{font-size:10px;text-transform:uppercase;font-weight:700;display:block;margin:12px 0 6px}.login-card .btn{margin-top:20px}.login-foot{position:absolute;bottom:20px;color:#7d8b86}.family-page{background:#fffdf7}.family-shell{max-width:1080px;margin:auto}.family-header{height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 35px;border-bottom:1px solid var(--line)}.family-child{display:flex;align-items:center;gap:10px}.family-child small,.family-child strong{display:block}.family-child small{font-size:9px;color:var(--muted)}.family-welcome{text-align:center;padding:80px 20px;background:#e5eee7}.family-welcome h1{font-size:47px;line-height:1.13;margin:14px}.family-welcome em{color:#b97c43}.family-welcome p{color:var(--muted)}.family-tabs{display:flex;justify-content:center;gap:45px;padding:20px;border-bottom:1px solid var(--line);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.family-section{padding:65px 45px}.section-heading{display:flex;align-items:center;gap:18px;margin-bottom:35px}.section-heading>span{font:700 34px "Playfair Display";color:#d9a757}.section-heading small{color:var(--muted);text-transform:uppercase;letter-spacing:.12em}.section-heading h2{font-size:30px;margin:3px 0}.family-post{display:grid;grid-template-columns:.8fr 1.2fr;gap:35px;padding:30px 0;border-bottom:1px solid var(--line)}.family-post time,.family-tracking time{color:#a17336;text-transform:uppercase;font-size:10px;letter-spacing:.1em}.family-post h3{font:700 23px "Playfair Display";margin:8px 0}.family-post p{color:var(--muted);line-height:1.7}.family-media{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.family-media img,.family-media video{width:100%;height:210px;object-fit:cover;border-radius:14px}.soft-section{background:#f3f6ef}.family-tracking>article{background:#fff;padding:30px;border-radius:18px;margin-bottom:18px}.family-tracking header{display:flex;justify-content:space-between}.family-tracking h3{font:700 22px "Playfair Display";margin:7px 0}.big-star{color:#ce963c;font-weight:700;font-size:18px}.highlight{background:#fbf1de;padding:15px;border-radius:10px;margin:15px 0}.highlight p{margin:5px 0 0}.family-milestones>div{display:grid;grid-template-columns:100px 1fr auto;gap:15px;padding:11px 0;border-bottom:1px solid var(--line);font-size:11px}.family-milestones>div>span:first-child{color:var(--muted)}.family-footer{text-align:center;padding:60px 20px;background:#254b43;color:#fff}.family-footer strong{font:700 25px "Playfair Display"}.family-footer p{opacity:.7}.family-footer small{opacity:.45}.mobile-menu{display:none}.form-hint{margin-top:12px}
@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,1fr)}.people-grid,.notes-grid{grid-template-columns:repeat(3,1fr)}.dashboard-grid{grid-template-columns:1fr 1fr}.dashboard-grid>.span-2{grid-column:span 2}.finance-grid{grid-template-columns:1fr}.finance-grid>.span-2{grid-column:auto}}
@media(max-width:800px){.mobile-menu{display:block;position:fixed;top:13px;left:13px;z-index:30;border:0;border-radius:8px;background:var(--green);color:#fff;width:40px;height:40px}.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none}.app-main{margin-left:0}.page-wrap{padding:72px 18px 40px}.page-header{align-items:flex-start;flex-direction:column}.metric-grid,.metric-grid.three,.dashboard-grid,.people-grid,.notes-grid,.split-docs,.two-cols,.feed,.tracking-grid,.profile-grid{grid-template-columns:1fr}.span-2,.dashboard-grid>.span-2{grid-column:auto}.people-grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.form-group:has(textarea),.form-group:has(select[multiple]){grid-column:auto}.profile-hero{flex-wrap:wrap}.profile-hero>.btn{margin-left:0}.family-link{display:block}.copy-box{margin-top:15px}.hero{grid-template-columns:1fr;padding-top:40px}.hero-art{order:2}.hero-copy h1{font-size:43px}.purpose-grid{grid-template-columns:1fr}.purpose-grid article:first-child{border-right:0;border-bottom:1px solid var(--line)}.family-post{grid-template-columns:1fr}.family-section{padding:45px 20px}.public-shell{padding:20px}.public-nav .btn{font-size:10px}.family-welcome h1{font-size:35px}}
@media(max-width:520px){.people-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr}.header-actions{width:100%}.header-actions .btn{flex:1}.mini-people{grid-template-columns:1fr}.public-nav .brand small{display:none}.purpose-grid article{padding:35px 12px;grid-template-columns:45px 1fr}.hero-art{height:340px}.login-card{padding:30px 24px}.login-brand{top:20px;left:20px}.family-header{padding:0 15px}.family-header .brand small{display:none}.family-tabs{gap:14px;font-size:9px}.family-media{grid-template-columns:1fr}.family-milestones>div{grid-template-columns:1fr}.notes-grid{grid-template-columns:1fr}}

/* Actividades y permisos docentes */
.section-title{display:flex;justify-content:space-between;align-items:end;margin:28px 0 15px}.section-title h2{margin:4px 0 0;font-size:22px}.teacher-callout{background:#f5ecd9}.activity-children{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.child-activity-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.2s}.child-activity-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.activity-cover{height:150px;position:relative;background:#e4eee7;overflow:hidden}.activity-cover img{width:100%;height:100%;object-fit:cover}.activity-cover>span{position:absolute;left:10px;bottom:10px;background:rgba(31,54,48,.82);color:#fff;padding:5px 9px;border-radius:16px;font-size:9px}.activity-placeholder{width:100%;height:100%;display:grid;place-items:center;font-size:44px;color:#719587;background:linear-gradient(145deg,#e4eee7,#f7edda)}.child-activity-info{padding:13px;display:flex;gap:9px;align-items:center}.child-activity-info .avatar{width:37px;height:37px}.child-activity-info h3{font:700 15px "Playfair Display";margin:0}.child-activity-info p{font-size:9px;color:var(--muted);margin:3px 0 0}.child-activity-info>b{margin-left:auto;color:var(--green-2)}.recent-title{margin-top:40px}.activity-feed{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.activity-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.activity-photo{display:block;height:220px;position:relative;background:#edf2ed}.activity-photo>img{width:100%;height:100%;object-fit:cover}.area-badge{display:inline-flex;background:#f5e8cf;color:#98681f;border-radius:15px;padding:5px 9px;font-size:9px;font-weight:700}.activity-photo>.area-badge{position:absolute;left:12px;top:12px}.activity-photo>b{position:absolute;right:12px;bottom:12px;color:#fff;background:rgba(27,46,41,.72);border-radius:16px;padding:5px 9px;font-size:9px}.activity-content{padding:17px}.activity-content>small{font-size:9px;color:var(--muted)}.activity-content h3{font:700 19px "Playfair Display";margin:6px 0}.activity-content>p{font-size:11px;color:var(--muted);line-height:1.5}.activity-content footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:12px;font-size:10px;font-weight:700}.activity-profile{background:linear-gradient(110deg,#fff,#edf4ee)}.activity-timeline{max-width:1000px;margin:auto}.activity-detail-card{display:grid;grid-template-columns:72px 1fr;gap:20px;margin-bottom:25px}.activity-date{text-align:center;padding-top:15px}.activity-date span,.activity-date strong,.activity-date small{display:block}.activity-date span{font:700 33px "Playfair Display"}.activity-date strong{text-transform:uppercase;color:#ae792e;font-size:11px}.activity-date small{color:var(--muted);font-size:9px}.activity-detail-main{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px}.activity-detail-main>header{display:flex;justify-content:space-between;gap:20px;align-items:start}.activity-detail-main h2{font-size:24px;margin:7px 0 3px}.activity-detail-main header p{color:var(--muted);font-size:10px}.activity-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin:15px 0}.activity-gallery.single{grid-template-columns:1fr}.activity-gallery img{width:100%;height:300px;object-fit:cover;border-radius:13px}.activity-description>p{line-height:1.65}.observation{padding:15px;background:#f5f7f2;border-radius:11px}.observation strong{color:var(--green);font-size:11px}.observation p{margin:6px 0 0;color:var(--muted)}.activity-mini-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.activity-mini-grid a{border:1px solid var(--line);border-radius:10px;overflow:hidden}.activity-mini-grid img{width:100%;height:100px;object-fit:cover;background:#eef2ed}.activity-mini-grid span{display:block;padding:9px}.activity-mini-grid strong,.activity-mini-grid small{display:block}.activity-mini-grid small{color:var(--muted);font-size:9px;margin-top:3px}.row-action{display:inline-flex;padding:5px 9px;border:1px solid #dbe2de;border-radius:7px;color:var(--green-2);font-size:9px;font-weight:700}.transaction-list .row-action{margin-left:4px}.narrow-page{max-width:850px}.edit-card{padding:30px}.edit-card h1{font-size:30px;margin:4px 0}.edit-card .card-head p{color:var(--muted)}.edit-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:25px;padding-top:18px;border-top:1px solid var(--line)}.family-activities>article{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;padding:25px 0;border-bottom:1px solid var(--line)}.family-activity-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.family-activity-gallery img{width:100%;height:230px;object-fit:cover;border-radius:14px}.family-activity-copy time{font-size:9px;color:#a17336;text-transform:uppercase;letter-spacing:.08em}.family-activity-copy h3{font:700 25px "Playfair Display";margin:8px 0}.family-activity-copy>p{line-height:1.65;color:var(--muted)}.family-activity-copy>small{color:var(--green-2);font-weight:700}.form-group input[type=file][multiple]{padding:8px;background:#f8faf7}
@media(max-width:1100px){.activity-children{grid-template-columns:repeat(3,1fr)}.activity-feed{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.activity-children,.activity-feed{grid-template-columns:repeat(2,1fr)}.activity-detail-card{grid-template-columns:1fr}.activity-date{display:flex;gap:5px;align-items:baseline}.activity-date span{font-size:23px}.family-activities>article{grid-template-columns:1fr}.activity-mini-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.activity-children,.activity-feed{grid-template-columns:1fr}.activity-gallery{grid-template-columns:1fr}.activity-gallery img{height:230px}.family-tabs{overflow-x:auto;justify-content:flex-start}.family-activity-gallery{grid-template-columns:1fr}}

/* Identidad Kids Center */
:root{--ink:#072d4c;--muted:#687b89;--green:#55b80a;--green-2:#3f9700;--sage:#e9f7dc;--cream:#fff9ec;--paper:#fffefe;--line:#e2ebf1;--ochre:#ff9b17;--coral:#ed177a;--blue:#098ed0;--navy:#042b4c;--yellow:#ffca18;--shadow:0 16px 40px rgba(2,52,88,.09)}
body{background:#f5f9fc;color:var(--ink);font-family:"Nunito",sans-serif}
h1,h2,h3,.person-card h3,.activity-content h3,.child-activity-info h3,.activity-detail-main h2,.family-post h3,.family-tracking h3,.family-activity-copy h3,.family-footer strong,.balance-value{font-family:"Fredoka",sans-serif!important;letter-spacing:-.015em}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.brand-logo{display:block;width:auto;object-fit:contain}.sidebar-logo{width:194px;max-height:91px;margin:auto}.public-logo{width:170px;max-height:84px}.login-logo{width:190px;max-height:95px}.family-logo{width:148px;max-height:70px}.footer-logo{width:190px;max-height:95px;margin:0 auto 10px;filter:drop-shadow(0 6px 12px rgba(0,0,0,.18))}
.sidebar{background:linear-gradient(180deg,#042b4c 0%,#04385d 58%,#052842 100%);padding-top:17px;box-shadow:8px 0 30px rgba(3,44,75,.08)}.sidebar:before{content:"";position:absolute;inset:0 0 auto;height:6px;background:linear-gradient(90deg,#ed0877 0 22%,#ffca18 22% 42%,#60bf00 42% 62%,#ff8508 62% 80%,#0098df 80%)}.sidebar>.brand{height:112px;padding:5px 7px 15px;border-bottom:1px solid rgba(255,255,255,.14);justify-content:center}.sidebar nav a,.sidebar-footer>a,.sidebar-footer form button{border-radius:12px;color:rgba(255,255,255,.76)}.sidebar nav a:hover{background:rgba(0,152,223,.16)}.sidebar nav a.active{background:linear-gradient(100deg,rgba(0,152,223,.28),rgba(89,190,0,.14));color:#fff;box-shadow:inset 3px 0 #ffc916}.sidebar nav a.active i{color:#ffc916}.nav-label{color:#73d4ff;opacity:.7}.user-chip>span{background:linear-gradient(145deg,#ffca18,#ff8d0a);color:#072d4c}.app-main{background:radial-gradient(circle at 97% 2%,rgba(0,151,218,.055),transparent 310px),#f5f9fc}.page-header h1{color:#062f50}.eyebrow{color:#0785c2}.btn{border-radius:12px}.btn-primary{background:linear-gradient(135deg,#078fd1,#087bb9);box-shadow:0 8px 18px rgba(0,140,205,.2)}.btn-primary:hover{background:linear-gradient(135deg,#087db8,#056b9e)}.btn-soft{border-color:#dbe8ef;background:#fff}.card,.metric,.person-card,.activity-card,.child-activity-card{border-color:#e0eaf0;box-shadow:0 9px 25px rgba(5,52,83,.04)}.metric{position:relative;overflow:hidden}.metric:after{content:"";position:absolute;inset:0 0 auto;height:3px}.metric.green:after{background:#59be00}.metric.ochre:after{background:#ff9a0a}.metric.coral:after{background:#ed0877}.metric.blue:after{background:#0098df}.metric.green .metric-icon{background:#e7f7d9;color:#419700}.metric.ochre .metric-icon{background:#fff0ce;color:#e27c00}.metric.coral .metric-icon{background:#fde2ef;color:#d90068}.metric.blue .metric-icon{background:#dbf3ff;color:#007fbd}.status.activo,.status.pagado{background:#e5f7d9;color:#378600}.status.pendiente{background:#fff1cd;color:#bf7100}.status.vencido{background:#fde1ee;color:#bf075c}.status.parcial{background:#ddf3fd;color:#087cae}.person>span,.avatar{background:linear-gradient(145deg,#dff4ff,#eaf8de);color:#047db8}.person-card:hover,.child-activity-card:hover{border-color:#b8dff0}.row-action,.card-head>a,.text-link,.card-link{color:#087fb9}.campo:focus,.login-card input:focus{border-color:#0795d7;box-shadow:0 0 0 3px rgba(0,151,218,.11)}.area-badge{background:#e8f7da;color:#3e8f05}.activity-placeholder{color:#0792d1;background:linear-gradient(145deg,#def4ff,#f5fadf 52%,#fff0d9)}.stars,.stars i.on{color:#ffad08}.callout{border-color:#d6eaf4;background:#eaf7fd}.teacher-callout{background:linear-gradient(100deg,#e9f8dd,#e4f5fd);border-color:#d2eac8}.note.amarillo{background:#fff0b9}.note.rosa{background:#fddcea}.note.verde{background:#e1f5d3}.note.azul{background:#daf1fb}
.public-page{background:#fff}.public-shell{max-width:1240px;padding-top:12px}.public-nav{min-height:90px}.public-nav .btn-outline{border:0;color:#fff;background:#072f4f;box-shadow:0 7px 16px rgba(3,44,75,.12)}.hero{min-height:560px;grid-template-columns:1.05fr .95fr;gap:75px}.hero-art{height:460px;border-radius:42px;background:linear-gradient(145deg,#e4f6ff 0%,#f5fbe8 52%,#fff2db 100%);overflow:hidden;border:1px solid #e4edf0;box-shadow:0 24px 55px rgba(5,75,114,.09)}.hero-art:before{content:"";position:absolute;inset:20px;border:2px dashed rgba(1,143,207,.16);border-radius:31px}.hero-logo{position:absolute;z-index:3;width:92%;height:auto;left:4%;top:50%;transform:translateY(-50%);filter:drop-shadow(0 14px 15px rgba(4,45,76,.13))}.color-orbit{position:absolute;border-radius:50%;z-index:1}.orbit-pink{width:130px;height:130px;background:#ed0877;opacity:.1;top:-30px;left:-20px}.orbit-green{width:170px;height:170px;background:#60bf00;opacity:.12;right:-50px;bottom:-60px}.orbit-orange{width:90px;height:90px;background:#ff8c08;opacity:.14;right:25px;top:18px}.spark{position:absolute;z-index:2;font-size:23px}.s1{color:#ed0877;left:28px;bottom:35px}.s2{color:#60bf00;right:24px;top:115px}.s3{color:#ffad08;left:42%;top:25px;font-size:12px}.hero-copy h1{font-family:"Fredoka",sans-serif;font-size:55px;color:#062f50}.hero-copy h1 em{font-style:normal;color:#e60070;position:relative}.hero-copy h1 em:after{content:"";position:absolute;height:7px;left:0;right:0;bottom:-5px;border-radius:7px;background:linear-gradient(90deg,#ffca18,#ff8b08,#ed0877,#0098df)}.hero-copy p{font-size:17px}.purpose-grid{border:0;gap:18px;padding:28px 0 45px}.purpose-grid article{position:relative;border:1px solid #e3ebef!important;border-radius:24px;padding:38px;background:#fff;overflow:hidden;box-shadow:0 12px 32px rgba(5,61,95,.055)}.purpose-grid article:before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:linear-gradient(#ed0877,#ff9a08)}.purpose-grid article+article:before{background:linear-gradient(#59bd00,#0098df)}.purpose-grid article>span{font-family:"Fredoka",sans-serif;color:#ff9308}.purpose-grid h2{font-family:"Fredoka",sans-serif;color:#062f50}.purpose-grid small{color:#078ac8}.public-footer{border-top:1px solid var(--line)}
.login-page{background:radial-gradient(circle at 12% 15%,rgba(237,8,119,.12),transparent 260px),radial-gradient(circle at 88% 82%,rgba(87,187,0,.14),transparent 300px),linear-gradient(145deg,#e6f7ff,#fff9e9)}.login-brand{top:18px;left:30px}.login-card{border:1px solid rgba(255,255,255,.8);box-shadow:0 25px 60px rgba(5,66,101,.14)}.login-icon{background:linear-gradient(145deg,#ffdb4c,#ff9908);color:#fff}.login-card h1{font-family:"Fredoka",sans-serif;color:#062f50}.login-card .eyebrow{color:#e60070}
.family-page{background:#fff}.family-shell{max-width:1120px;box-shadow:0 0 45px rgba(5,61,95,.06)}.family-header{height:102px}.family-welcome{position:relative;overflow:hidden;background:linear-gradient(120deg,#e3f6ff,#f1fae7 52%,#fff0d9)}.family-welcome:before,.family-welcome:after{content:"";position:absolute;border-radius:50%}.family-welcome:before{width:150px;height:150px;background:rgba(237,8,119,.09);left:-50px;top:-50px}.family-welcome:after{width:190px;height:190px;background:rgba(85,184,10,.1);right:-60px;bottom:-80px}.family-welcome h1{position:relative;font-family:"Fredoka",sans-serif;color:#062f50}.family-welcome h1 em{font-style:normal;color:#e60070}.family-tabs a:nth-child(1){color:#4b9d09}.family-tabs a:nth-child(2){color:#e60070}.family-tabs a:nth-child(3){color:#078ac8}.section-heading>span{font-family:"Fredoka",sans-serif;color:#ff9408}.soft-section{background:#f3f9fc}.highlight{background:#fff1cd;border-left:4px solid #ffae08}.family-footer{position:relative;background:linear-gradient(135deg,#042b4c,#06436b);overflow:hidden}.family-footer:before{content:"";position:absolute;inset:0 0 auto;height:7px;background:linear-gradient(90deg,#ed0877 0 20%,#ffca18 20% 40%,#59bd00 40% 60%,#ff8908 60% 80%,#0098df 80%)}
@media(max-width:800px){.sidebar-logo{width:180px}.hero{gap:30px}.hero-art{height:390px}.public-logo{width:145px}.family-logo{width:125px}.login-logo{width:150px}.hero-copy h1{font-size:43px}}
@media(max-width:520px){.public-nav{min-height:75px}.public-logo{width:125px}.hero-art{height:310px}.hero-logo{width:98%;left:1%}.hero-copy h1{font-size:39px}.purpose-grid{padding-top:10px}.family-logo{width:112px}.family-header{height:88px}.footer-logo{width:160px}}

/* Centro de cobros */
.payments-page{max-width:1500px}.payments-header{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px}.payments-header h1{font:700 35px "Fredoka",sans-serif;margin:5px 0;color:var(--navy)}.payments-header p{margin:0;color:var(--muted)}.payment-primary-actions{display:flex;align-items:center;gap:9px}.pay-more{position:relative}.pay-more summary{list-style:none}.pay-more summary::-webkit-details-marker{display:none}.pay-more[open] summary{border-color:#9dcce2}.pay-more>div{position:absolute;z-index:12;right:0;top:48px;width:275px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 45px rgba(3,44,75,.16)}.pay-more>div:before{content:"";position:absolute;right:22px;top:-6px;width:11px;height:11px;background:#fff;border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg)}.pay-more>div button{position:relative;width:100%;border:0;background:#fff;border-radius:10px;display:flex;gap:11px;align-items:center;text-align:left;padding:11px;color:var(--ink)}.pay-more>div button:hover{background:#f1f8fc}.pay-more>div button>i{font-style:normal;width:34px;height:34px;border-radius:10px;background:#e4f5fd;color:#0786c1;display:grid;place-items:center}.pay-more>div button:nth-child(2)>i{background:#e8f7dc;color:#439600}.pay-more button strong,.pay-more button small{display:block}.pay-more button strong{font-size:11px}.pay-more button small{font-size:9px;color:var(--muted);margin-top:2px}.payment-overview{display:grid;grid-template-columns:minmax(350px,1.65fr) repeat(3,1fr);gap:14px;margin-bottom:18px}.payment-month-card,.payment-stat{background:#fff;border:1px solid var(--line);border-radius:18px;min-height:132px;box-shadow:0 8px 24px rgba(5,54,86,.04)}.payment-month-card{display:grid;grid-template-columns:1.2fr 96px 1fr;align-items:center;gap:17px;padding:18px 20px;background:linear-gradient(120deg,#f7fcff,#fff 55%,#f8fced)}.month-switcher label{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:8px;font-weight:800;color:#7d909b;margin-bottom:8px}.month-switcher>div{display:flex;align-items:center;gap:7px}.month-switcher>div>span{width:32px;height:32px;border-radius:9px;background:#e4f4fc;color:#0588c5;display:grid;place-items:center}.month-switcher select{min-width:135px;border:0;background:transparent;color:var(--navy);font:600 16px "Fredoka",sans-serif;outline:none}.collection-ring{width:86px;height:86px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#56b90a calc(var(--progress) * 1%),#e5edf0 0);position:relative}.collection-ring:before{content:"";position:absolute;inset:8px;background:#fff;border-radius:50%}.collection-ring>div{position:relative;text-align:center}.collection-ring strong,.collection-ring small{display:block}.collection-ring strong{font:700 20px "Fredoka",sans-serif}.collection-ring small{font-size:8px;color:var(--muted)}.month-progress-copy span,.month-progress-copy strong,.month-progress-copy small{display:block}.month-progress-copy>span{font-size:9px;color:var(--muted);text-transform:uppercase;font-weight:800}.month-progress-copy strong{font-size:12px;margin:5px 0}.month-progress-copy small{font-size:9px;color:var(--muted)}.month-progress-copy small b{color:#dd076c}.payment-stat{display:flex;align-items:center;gap:13px;padding:19px}.payment-stat-icon{flex:none;width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-size:18px}.payment-stat small,.payment-stat strong,.payment-stat p{display:block}.payment-stat div>small{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:8px;font-weight:800}.payment-stat strong{font:600 22px "Fredoka",sans-serif;margin:4px 0}.payment-stat p{margin:0;color:#90a0a8;font-size:9px}.payment-stat.billed .payment-stat-icon{background:#e3f3fb;color:#0588c5}.payment-stat.collected .payment-stat-icon{background:#e4f5d8;color:#459a05}.payment-stat.due .payment-stat-icon{background:#fde2ee;color:#dd076c}.payment-stat.due strong{color:#d40868}.payment-workspace{padding:0;overflow:hidden}.payment-tabs{display:flex;gap:4px;padding:10px 16px 0;border-bottom:1px solid var(--line);background:#fafcfd}.payment-tabs button{position:relative;border:0;background:transparent;color:#73848d;padding:13px 17px 14px;font-weight:800;font-size:11px}.payment-tabs button:after{content:"";position:absolute;height:3px;left:12px;right:12px;bottom:-1px;border-radius:3px 3px 0 0;background:transparent}.payment-tabs button.active{color:#057fb9}.payment-tabs button.active:after{background:linear-gradient(90deg,#058fd0,#58b90b)}.payment-tabs button>span{margin-right:6px;font-size:14px}.payment-tabs b{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;margin-left:5px;border-radius:10px;background:#edf2f4;font-size:8px}.payment-tabs button.active b{background:#daf1fb;color:#057fb9}.payment-panel{display:none;padding:20px}.payment-panel.active{display:block}.collection-filters{display:flex;align-items:center;gap:9px;padding-bottom:17px;border-bottom:1px solid var(--line)}.pay-search{position:relative;max-width:430px;flex:1}.pay-search span{position:absolute;left:13px;top:7px;font-size:20px;color:#81939c}.pay-search input,.collection-filters select{width:100%;height:40px;border:1px solid #dce7ed;border-radius:10px;background:#fff;color:var(--ink);outline:none}.pay-search input{padding:0 12px 0 40px}.collection-filters select{width:175px;padding:0 10px}.collection-filters .btn{height:40px}.clear-filter{font-size:10px;color:#0781bb;font-weight:800}.collection-list{display:flex;flex-direction:column}.collection-item{display:grid;grid-template-columns:minmax(180px,1.6fr) 1fr minmax(120px,1fr) 65px 85px 105px;gap:18px;align-items:center;padding:15px 5px;border-bottom:1px solid #edf2f4}.collection-item:last-child{border-bottom:0}.collection-item:hover{background:#fbfdfe}.collection-person{display:flex;align-items:center;gap:10px}.collection-person>span{width:39px;height:39px;flex:none;border-radius:12px;background:linear-gradient(145deg,#dbf2fc,#e9f7dd);color:#057fba;display:grid;place-items:center;font-size:10px;font-weight:900}.collection-person strong,.collection-person small{display:block}.collection-person strong{font-size:12px}.collection-person small{font-size:9px;color:var(--muted);margin-top:2px}.collection-money{display:grid;grid-template-columns:1fr 1fr;gap:10px}.collection-money small,.collection-money strong{display:block}.collection-money small,.collection-due small{font-size:8px;color:#91a0a7;text-transform:uppercase}.collection-money strong,.collection-due strong{font-size:11px;margin-top:3px}.collection-money .has-balance{color:#d40767}.collection-progress>div{height:6px;background:#e9eef0;border-radius:8px;overflow:hidden}.collection-progress i{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,#0796d7,#59b908)}.collection-progress small{font-size:8px;color:#8c9ca4}.collection-due{text-align:center}.collection-actions{display:flex;justify-content:flex-end;gap:5px}.quick-pay{border:0;border-radius:8px;background:#e1f3fb;color:#057db5;padding:7px 11px;font-size:9px;font-weight:900}.quick-pay:hover{background:#058bc9;color:#fff}.collection-actions>a{width:30px;height:30px;border:1px solid #e0e8ec;border-radius:8px;display:grid;place-items:center;font-weight:900;letter-spacing:1px;color:#73848d}.panel-heading{display:flex;justify-content:space-between;align-items:center;padding:4px 2px 18px;border-bottom:1px solid var(--line)}.panel-heading h2{font-size:20px;margin:3px 0;text-transform:capitalize}.modern-transactions article{display:grid;grid-template-columns:40px 1fr 100px 90px 50px;gap:14px;align-items:center;padding:14px 5px;border-bottom:1px solid var(--line)}.transaction-main strong,.transaction-main small,.modern-transactions time small{display:block}.transaction-main strong{font-size:11px}.transaction-main small,.modern-transactions time{font-size:9px;color:var(--muted)}.modern-transactions time{text-align:right}.modern-transactions>b{text-align:right;color:#439206}.modern-transactions>a{font-size:9px;color:#0780b9;font-weight:800}.contribution-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding-top:16px}.contribution-grid article{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:16px;border:1px solid var(--line);border-radius:14px}.contribution-grid article>span{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#fff0c9;color:#e88600;font-size:17px}.contribution-grid small{color:var(--muted);font-size:8px}.contribution-grid h3{font-size:13px;margin:3px 0}.contribution-grid p{font-size:9px;color:var(--muted);margin:0}.contribution-grid article>strong{color:#0782bc}.payment-empty{text-align:center;padding:55px 20px;grid-column:1/-1}.payment-empty>span{width:48px;height:48px;margin:auto;border-radius:50%;background:#e4f4fb;color:#0782bc;display:grid;place-items:center;font-size:20px}.payment-empty h3{margin:12px 0 5px}.payment-empty p{color:var(--muted)}.generation-note{display:flex;gap:12px;align-items:center;padding:14px;background:#edf8fd;border-radius:12px;margin-bottom:18px}.generation-note>span{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:#fff;color:#0685c1}.generation-note strong,.generation-note p{display:block}.generation-note p{font-size:10px;color:var(--muted);margin:3px 0 0}.payment-modal .modal-head p,#generar-mes .modal-head p{font-size:10px;color:var(--muted);margin:4px 0 0}
@media(max-width:1250px){.payment-overview{grid-template-columns:repeat(3,1fr)}.payment-month-card{grid-column:1/-1}.collection-item{grid-template-columns:minmax(180px,1.5fr) 1fr 1fr 70px 95px}.collection-due{display:none}}
@media(max-width:900px){.payments-header{align-items:flex-start;flex-direction:column}.payment-primary-actions{width:100%;flex-wrap:wrap}.payment-overview{grid-template-columns:repeat(3,1fr)}.collection-item{grid-template-columns:1.4fr 1fr 85px 95px}.collection-progress{display:none}.modern-transactions article{grid-template-columns:40px 1fr 85px 45px}.modern-transactions time{display:none}}
@media(max-width:650px){.payment-primary-actions>.btn{flex:1}.payment-primary-actions .pay-more{order:3;width:100%}.pay-more>summary{width:100%}.pay-more>div{left:0;right:auto;width:100%}.payment-overview{grid-template-columns:1fr}.payment-month-card{grid-column:auto;grid-template-columns:1fr 82px}.month-progress-copy{grid-column:1/-1}.payment-stat{min-height:100px}.payment-tabs{overflow-x:auto;padding-left:5px}.payment-tabs button{white-space:nowrap}.payment-panel{padding:14px}.collection-filters{flex-wrap:wrap}.pay-search{flex-basis:100%;max-width:none}.collection-filters select{flex:1}.collection-item{grid-template-columns:1fr auto;padding:16px 3px;gap:11px}.collection-money{grid-column:1/2}.collection-item>.status{grid-column:2;grid-row:1;align-self:start}.collection-actions{grid-column:2;grid-row:2}.collection-due,.collection-progress{display:none}.contribution-grid{grid-template-columns:1fr}.panel-heading{align-items:flex-start;gap:10px}.modern-transactions article{grid-template-columns:38px 1fr auto}.modern-transactions>b{grid-column:3;grid-row:1}.modern-transactions>a{grid-column:3;grid-row:2;text-align:right}.modern-transactions time{display:none}}
.collection-due small,.collection-due strong{display:block}

/* Nómina docente dentro del centro de cobros */
.payroll-heading-actions{display:flex;gap:8px}.payroll-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:16px 0}.payroll-summary>div{padding:16px;border:1px solid var(--line);border-radius:13px;background:#fafcfd}.payroll-summary small,.payroll-summary strong{display:block}.payroll-summary small{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.payroll-summary strong{font:600 21px "Fredoka",sans-serif;margin-top:4px}.payroll-summary .paid,.payroll-list .paid{color:#419305}.payroll-summary .pending,.payroll-list .pending{color:#d40767}.payroll-list article{display:grid;grid-template-columns:minmax(190px,1.5fr) repeat(3,.7fr) 1fr 80px 105px;gap:16px;align-items:center;padding:15px 4px;border-bottom:1px solid var(--line)}.payroll-list article:last-child{border-bottom:0}.payroll-person{display:flex;align-items:center;gap:10px}.payroll-person>span{width:39px;height:39px;border-radius:12px;background:linear-gradient(145deg,#e2f4fc,#eaf7dc);color:#057eb8;display:grid;place-items:center;font-size:9px;font-weight:900}.payroll-person strong,.payroll-person small,.payroll-list article>div>small,.payroll-list article>div>strong{display:block}.payroll-person strong{font-size:11px}.payroll-person small,.payroll-list article>div>small{font-size:8px;color:var(--muted)}.payroll-list article>div>strong{font-size:11px;margin-top:3px}.payroll-net strong{font-size:14px!important;color:var(--navy)}.payroll-list>a{text-align:center}.modal#nueva-nomina .modal-head p,.modal#generar-nomina .modal-head p{font-size:10px;color:var(--muted);margin:4px 0 0}
@media(max-width:1100px){.payroll-list article{grid-template-columns:1.5fr repeat(2,.8fr) 90px 105px}.payroll-list article>div:nth-child(3),.payroll-list article>div:nth-child(4){display:none}}
@media(max-width:650px){.payroll-heading-actions{flex-direction:column}.payroll-summary{grid-template-columns:1fr}.payroll-list article{grid-template-columns:1fr auto;gap:10px}.payroll-list article>div:nth-child(2),.payroll-list article>div:nth-child(3),.payroll-list article>div:nth-child(4){display:none}.payroll-net{grid-column:1}.payroll-list article>.status{grid-column:2;grid-row:1}.payroll-list article>a{grid-column:2;grid-row:2}}
.payment-workspace .panel-heading h2{text-transform:none}

/* Vista fotográfica del resumen */
.span-3{grid-column:1/-1}.dashboard-activity-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.dashboard-activity{display:block;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff;transition:transform .2s,box-shadow .2s}.dashboard-activity:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.dashboard-activity>img,.dashboard-activity>.activity-placeholder{width:100%;height:155px;display:grid;place-items:center;object-fit:cover}.dashboard-activity>div{padding:12px 14px 14px}.dashboard-activity small,.dashboard-activity strong,.dashboard-activity div>span{display:block}.dashboard-activity small{color:var(--muted);font-size:9px}.dashboard-activity strong{margin:6px 0;font-size:12px;line-height:1.35}.dashboard-activity div>span{color:var(--green-2);font-size:10px;font-weight:700}
@media(max-width:1100px){.dashboard-activity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.dashboard-activity-grid{grid-template-columns:1fr}.dashboard-activity>img,.dashboard-activity>.activity-placeholder{height:190px}}
