:root{--bg:#0c0f14;--panel:#151922;--panel2:#1b202b;--line:#2a3140;--text:#f6f7fb;--muted:#9aa4b6;--gold:#f3bd39;--aqua:#5ee0d8;--purple:#a48cff;--green:#6ee7a6;--red:#ff7e88;--shadow:0 20px 70px rgba(0,0,0,.35)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 20% 0,#17202a 0,transparent 35%),var(--bg);color:var(--text);font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;min-height:100vh}button,input,select{font:inherit}.hidden{display:none!important}.ambient{position:fixed;border-radius:50%;filter:blur(90px);opacity:.13;pointer-events:none}.ambient-a{width:420px;height:420px;background:var(--gold);right:-180px;top:90px}.ambient-b{width:350px;height:350px;background:var(--aqua);left:-170px;bottom:-120px}.topbar{height:74px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:28px;padding:0 28px;position:sticky;top:0;z-index:20;background:rgba(12,15,20,.9);backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:11px;background:none;border:0;color:white;text-align:left;cursor:pointer}.brand img{width:42px;height:42px;object-fit:contain}.brand b{display:block;letter-spacing:.06em}.brand small{display:block;color:var(--gold);font-size:10px;letter-spacing:.12em}.topbar nav{display:flex;gap:6px;flex:1}.topbar nav button{border:0;background:transparent;color:var(--muted);padding:10px 13px;border-radius:11px;cursor:pointer}.topbar nav button.active,.topbar nav button:hover{background:var(--panel2);color:white}.account{display:flex;align-items:center;gap:12px}.account span{color:var(--muted);font-size:13px}.ghost{background:transparent;border:1px solid var(--line);color:var(--text);padding:9px 13px;border-radius:10px;cursor:pointer}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:34px}.hero-card{width:min(1120px,100%);display:grid;grid-template-columns:1.15fr .85fr;border:1px solid var(--line);border-radius:30px;overflow:hidden;background:rgba(21,25,34,.84);box-shadow:var(--shadow)}.hero-copy{padding:58px;background:linear-gradient(145deg,rgba(243,189,57,.08),transparent 44%)}.hero-logo{width:68px;height:68px;object-fit:contain;margin-bottom:28px}.eyebrow{font-size:11px;letter-spacing:.18em;color:var(--gold);font-weight:800}.hero-copy h1{font-size:65px;line-height:.95;letter-spacing:-.045em;margin:13px 0 24px}.hero-copy h1 em{font-style:normal;color:var(--gold)}.hero-copy p{font-size:18px;color:#c8cfdb;max-width:610px}.hero-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.hero-pills span{border:1px solid var(--line);padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.03)}.privacy-note{margin-top:34px;color:var(--muted);font-size:13px}.auth-card{padding:38px;background:#11151c}.auth-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;background:#0b0e13;padding:5px;border-radius:14px;margin-bottom:28px}.auth-tabs button{padding:10px;border:0;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer}.auth-tabs button.active{background:var(--panel2);color:white}.auth-form{display:grid;gap:15px}.auth-form label,.modal label{display:grid;gap:7px;color:#cbd2de;font-size:13px}.auth-form input,.auth-form select,.modal input,.modal select{width:100%;border:1px solid var(--line);border-radius:12px;background:#0d1117;color:white;padding:12px 13px;outline:none}.auth-form input:focus,.modal input:focus,.modal select:focus{border-color:var(--gold)}.primary{border:0;border-radius:12px;background:linear-gradient(135deg,var(--gold),#ffd96d);color:#17130a;font-weight:800;padding:13px 16px;cursor:pointer;box-shadow:0 8px 30px rgba(243,189,57,.15)}.message{min-height:22px;margin-top:13px;color:var(--red);font-size:13px}.demo-box{margin-top:22px;border-top:1px solid var(--line);padding-top:16px;color:var(--muted);font-size:12px}.demo-box summary{cursor:pointer;color:#d8dee9}.demo-box p{margin:7px 0}.app-view{width:min(1220px,calc(100% - 40px));margin:0 auto;padding:36px 0 70px}.dashboard-header{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:26px}.dashboard-header small{color:var(--gold);font-weight:800;letter-spacing:.12em}.dashboard-header h1{font-size:35px;margin:3px 0 6px}.dashboard-header p{margin:0;color:var(--muted)}.toolbar{display:flex;gap:10px;flex-wrap:wrap}.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metric{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:20px}.metric b{display:block;font-size:29px}.metric span{color:var(--muted);font-size:12px}.section{margin-top:26px}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-head h2{margin:0;font-size:20px}.section-head p{margin:2px 0;color:var(--muted);font-size:13px}.children-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.child-card,.school-card,.data-card{border:1px solid var(--line);background:linear-gradient(150deg,var(--panel),#11151c);border-radius:19px;padding:18px}.child-top{display:flex;align-items:center;gap:12px}.avatar{width:48px;height:48px;display:grid;place-items:center;background:#222936;border-radius:15px;font-size:26px}.child-top h3{margin:0}.child-top p{margin:2px 0;color:var(--muted);font-size:12px}.progress-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:17px 0}.progress-row div{background:#0e1218;border-radius:10px;padding:9px;text-align:center}.progress-row b{display:block}.progress-row span{font-size:10px;color:var(--muted)}.child-actions{display:flex;gap:7px}.child-actions button{flex:1}.secondary{border:1px solid var(--line);background:var(--panel2);color:white;border-radius:11px;padding:10px 12px;cursor:pointer}.code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--aqua);font-size:12px}.table-wrap{border:1px solid var(--line);border-radius:18px;overflow:auto;background:var(--panel)}table{border-collapse:collapse;width:100%;min-width:700px}th,td{padding:13px 15px;border-bottom:1px solid var(--line);text-align:left}th{font-size:11px;color:var(--muted);letter-spacing:.08em}td{font-size:13px}.badge{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800;background:rgba(110,231,166,.12);color:var(--green)}.badge.gold{background:rgba(243,189,57,.13);color:var(--gold)}.empty{border:1px dashed var(--line);border-radius:18px;padding:35px;text-align:center;color:var(--muted)}.modal{border:1px solid var(--line);border-radius:20px;background:#141923;color:white;width:min(500px,calc(100% - 30px));padding:0;box-shadow:var(--shadow)}.modal::backdrop{background:rgba(0,0,0,.7);backdrop-filter:blur(5px)}.modal form{padding:24px;display:grid;gap:15px}.modal-head{display:flex;justify-content:space-between;align-items:start}.modal-head small{color:var(--gold);letter-spacing:.12em}.modal-head h2{margin:2px 0}.icon-btn{border:0;background:#222936;color:white;border-radius:10px;width:36px;height:36px;font-size:22px;cursor:pointer}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tiny{font-size:11px;color:var(--muted)}.toast{position:fixed;right:22px;bottom:22px;background:#202735;border:1px solid #384255;border-radius:13px;padding:12px 16px;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s;z-index:50}.toast.show{opacity:1;transform:none}.quick-launch{padding:24px;border:1px solid rgba(94,224,216,.25);background:linear-gradient(130deg,rgba(94,224,216,.08),rgba(164,140,255,.06));border-radius:20px;display:flex;justify-content:space-between;align-items:center;gap:20px}.quick-launch h3{margin:0 0 4px}.quick-launch p{margin:0;color:var(--muted)}@media(max-width:900px){.hero-card{grid-template-columns:1fr}.hero-copy{padding:36px}.hero-copy h1{font-size:48px}.topbar{padding:0 14px}.topbar nav{display:none}.account span{display:none}.card-grid{grid-template-columns:repeat(2,1fr)}.children-grid{grid-template-columns:1fr 1fr}.dashboard-header{align-items:start;flex-direction:column}}@media(max-width:600px){.auth-wrap{padding:12px}.hero-copy{padding:28px}.hero-copy h1{font-size:42px}.auth-card{padding:24px}.app-view{width:min(100% - 20px,1220px);padding-top:22px}.card-grid,.children-grid{grid-template-columns:1fr}.grid2{grid-template-columns:1fr}.quick-launch{align-items:start;flex-direction:column}}

/* v0.8 admin actions */
.action-row{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.action-row button{padding:8px 10px;font-size:11px}.danger,.danger-soft{border:1px solid rgba(255,110,110,.35);border-radius:10px;background:rgba(255,75,75,.12);color:#ffd0d0;cursor:pointer}.danger-soft{background:transparent;color:#f1bcbc}.text-action{border:0;background:transparent;color:#b9a678;padding:8px 0;text-align:left;cursor:pointer}.text-action:hover{color:#f1cd75}

/* PROMISE KIDS v0.8.1 — detalle de cartera por administrador */
.admin-name-link{display:inline-flex;flex-direction:column;gap:3px;color:inherit;text-decoration:none}
.admin-name-link b{color:var(--text)}
.admin-name-link span{font-size:10px;color:var(--gold);letter-spacing:.04em}
.admin-name-link:hover b{text-decoration:underline;text-decoration-color:rgba(255,190,45,.55);text-underline-offset:3px}

/* v0.8.3 — administrative action modal: avoids browser prompt/confirm suppression. */
.action-modal{max-width:560px;width:min(92vw,560px)}
.action-modal #actionFields{display:grid;gap:12px;margin:14px 0}
.action-modal #actionFields label{display:grid;gap:7px;font-size:.82rem;color:var(--muted)}
.action-modal #actionFields input,.action-modal #actionFields select{width:100%}
.action-description{color:var(--muted);line-height:1.55;margin:0 0 8px}
.action-modal-buttons{justify-content:flex-end;margin-top:18px}
.action-modal .danger-confirm{background:#8f2d2d;border-color:#b44040;color:#fff}
.action-modal button[disabled]{opacity:.55;cursor:wait}
.admin-name-link{cursor:pointer}

/* Tareas dirigidas — estructura local lista para Hermes */
.menu-toggle{display:none;border:1px solid var(--line);background:var(--panel2);width:42px;height:42px;border-radius:12px;padding:9px;cursor:pointer}.menu-toggle span{display:block;height:2px;background:var(--text);border-radius:4px;margin:4px 0}.task-hero,.child-task-card{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:30px;border:1px solid rgba(94,224,216,.32);border-radius:24px;background:radial-gradient(circle at 85% 20%,rgba(164,140,255,.22),transparent 34%),linear-gradient(135deg,rgba(94,224,216,.12),rgba(243,189,57,.08))}.task-kicker{display:block;color:var(--aqua);font-size:11px;font-weight:800;letter-spacing:.14em}.task-hero h2,.child-task-card h2{font-size:29px;max-width:700px;margin:8px 0}.task-hero p,.child-task-card p{color:#c8cfdb;max-width:700px}.task-hero-orbit,.child-task-mascot{display:grid;place-items:center;flex:0 0 110px;width:110px;height:110px;border-radius:38px;font-size:54px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.13)}.task-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.task-steps article{border:1px solid var(--line);background:var(--panel);padding:18px;border-radius:18px}.task-steps b{display:grid;place-items:center;background:var(--gold);color:#1a1510;width:28px;height:28px;border-radius:50%;font-size:13px}.task-steps h3{margin:12px 0 4px}.task-steps p{margin:0;color:var(--muted);font-size:13px}.directed-task-dialog textarea{resize:vertical;width:100%;border:1px solid var(--line);border-radius:12px;background:#0d1117;color:white;padding:12px 13px;outline:none}.task-dialog-copy{color:var(--muted);margin:0}.task-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.task-upload{display:grid!important;gap:4px!important;min-height:130px;padding:18px;border:1px dashed rgba(94,224,216,.5);border-radius:16px;cursor:pointer;background:rgba(94,224,216,.05)}.task-upload:hover{background:rgba(94,224,216,.1)}.task-upload input{display:none}.task-upload span{font-size:28px}.task-upload small{color:var(--muted)}.task-preview{border:1px solid var(--line);border-radius:12px;padding:10px}.task-file{display:flex;gap:9px;align-items:center}.task-file small{margin-left:auto;color:var(--muted)}.child-conversation{max-width:780px;margin:auto;padding:28px;border:1px solid rgba(164,140,255,.35);border-radius:24px;background:linear-gradient(145deg,rgba(164,140,255,.12),rgba(94,224,216,.05))}.promise-bubble{display:flex;gap:13px;padding:17px;background:var(--panel);border-radius:18px 18px 18px 4px}.promise-bubble span{font-size:28px}.promise-bubble p{margin:0;font-size:17px}.task-suggestions{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0}.task-suggestions button{border:1px solid var(--line);background:#222936;color:var(--text);padding:9px 12px;border-radius:999px}.child-reply{display:flex;gap:10px}.child-reply input{flex:1;border:1px solid var(--line);background:#0d1117;color:white;padding:12px;border-radius:12px}.child-reply button:disabled,.child-reply input:disabled{opacity:.62;cursor:not-allowed}
@media(max-width:900px){.menu-toggle{display:block;margin-left:auto}.topbar{gap:10px;height:auto;min-height:68px}.topbar nav{display:none;position:absolute;top:calc(100% + 1px);left:0;right:0;padding:12px 14px 16px;background:#11151c;border-bottom:1px solid var(--line);box-shadow:var(--shadow);flex-direction:column}.topbar.menu-open nav{display:flex}.topbar nav button{text-align:left;padding:12px 14px}.account{margin-left:0}.task-steps{grid-template-columns:1fr}.task-hero,.child-task-card{align-items:flex-start}.task-hero-orbit,.child-task-mascot{flex-basis:74px;width:74px;height:74px;font-size:34px;border-radius:24px}}@media(max-width:600px){.topbar{padding:10px}.brand img{width:36px;height:36px}.account .ghost{padding:8px 10px}.task-hero h2,.child-task-card h2{font-size:24px}.task-upload-grid{grid-template-columns:1fr}.child-reply{flex-direction:column}}
.task-report-card{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:24px;border:1px solid rgba(243,189,57,.35);border-radius:20px;background:linear-gradient(135deg,rgba(243,189,57,.12),rgba(164,140,255,.08))}.task-report-card h2{margin:7px 0}.task-report-card p{margin:0;color:#c8cfdb;max-width:720px}.task-report-dialog{max-width:720px}.task-report-shell{padding:25px}.report-child{display:flex;align-items:center;gap:12px;margin:16px 0}.report-child>span{display:grid;place-items:center;width:45px;height:45px;border-radius:15px;background:rgba(164,140,255,.17);font-size:24px}.report-child b,.report-child small{display:block}.report-child small{color:var(--muted);font-size:12px}.report-status{border:1px solid rgba(110,231,166,.26);background:rgba(110,231,166,.08);color:#c7f6d8;border-radius:12px;padding:10px 12px;font-size:13px}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:15px 0}.report-grid article{background:#10151d;border:1px solid var(--line);padding:15px;border-radius:14px}.report-grid small{color:var(--gold);font-size:10px;letter-spacing:.1em;font-weight:800}.report-grid p{margin:7px 0 0;color:#dfe5ee;font-size:13px}.report-note{border-left:3px solid var(--aqua);padding:4px 0 4px 13px}.report-note p{margin:5px 0;color:var(--muted);font-size:13px}.task-report-footer{border-top:1px solid var(--line);margin-top:18px;padding-top:13px;color:var(--muted);font-size:11px}@media(max-width:600px){.task-report-card{align-items:flex-start;flex-direction:column}.report-grid{grid-template-columns:1fr}}
.parent-conversation{max-height:210px;overflow:auto;display:grid;gap:9px;padding:10px;border:1px solid var(--line);border-radius:14px;background:#0e1218}.parent-conversation p{margin:3px 0 0}.promise-line,.parent-line{padding:10px 12px;border-radius:13px;font-size:13px}.promise-line{background:#202735}.parent-line{background:rgba(94,224,216,.12);margin-left:24px}.promise-line b{color:var(--aqua)}.parent-line b{color:var(--gold)}.task-upload-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.task-upload-actions button,.task-file-button{font-size:12px;padding:8px 10px}.task-file-button input{display:none}.camera-panel{margin-top:12px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#080b0e;padding:12px}.camera-panel video{display:block;width:100%;max-height:320px;object-fit:cover;border-radius:10px}
.parent-composer{display:flex;gap:8px}.parent-composer input{min-width:0;flex:1;border:1px solid var(--line);border-radius:12px;background:#0d1117;color:white;padding:11px 12px}
.task-hero-orbit{font-size:0!important}.task-hero-orbit::after{content:"";display:block;width:48px;height:48px;background:url('/promise-logo.png') center/contain no-repeat}.report-brand img{display:none!important}
.parent-conversation{min-height:280px;max-height:360px}.task-report-dialog{width:min(760px,calc(100vw - 34px));margin:auto}.task-report-shell{padding:30px}.task-report-shell .modal-head{padding-bottom:14px;border-bottom:1px solid var(--line)}.report-child{justify-content:center;text-align:center;margin:22px 0}.report-status{text-align:center;margin:0 auto 18px;max-width:610px}.report-grid{max-width:640px;margin:18px auto}.report-note{max-width:640px;margin:20px auto}.task-report-footer{text-align:center}
.telegram-float{position:fixed;right:24px;bottom:24px;z-index:60;width:54px;height:54px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:#229ed9;color:#fff;font-size:23px;box-shadow:0 10px 26px rgba(0,0,0,.35);cursor:pointer}.telegram-float:hover{transform:translateY(-2px)}.telegram-info{position:fixed;right:24px;bottom:88px;z-index:61;width:min(380px,calc(100vw - 32px));padding:22px;border:1px solid rgba(42,171,238,.4);border-radius:20px;background:#151922;box-shadow:0 18px 55px rgba(0,0,0,.5);color:var(--text)}.telegram-info h2{margin:8px 28px 10px 0;font-size:20px;line-height:1.2}.telegram-info>small{color:var(--aqua);font-weight:800;letter-spacing:.12em;font-size:10px}.telegram-info p,.telegram-info li{color:#c8cfdb;font-size:13px}.telegram-info ul{padding-left:20px;margin:12px 0}.telegram-info-note{border-left:2px solid var(--gold);padding-left:10px}.telegram-info-close{position:absolute;right:12px;top:8px;border:0;background:transparent;color:var(--muted);font-size:24px;cursor:pointer}.telegram-info .primary{width:100%;margin-top:4px}@media(max-width:600px){.telegram-float{right:16px;bottom:16px}.telegram-info{right:16px;bottom:82px}}
.task-report-dialog{padding:0!important}.task-report-shell{width:100%;max-width:700px;margin:0 auto;box-sizing:border-box}.task-hero-orbit{font-size:0!important}.task-hero-orbit:after{content:"";display:block;width:48px;height:48px;background:url('/promise-logo.png') center/contain no-repeat}

.telegram-float{position:fixed;right:24px;bottom:24px;z-index:60;width:54px;height:54px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:#229ed9;color:#fff;font-size:23px;box-shadow:0 10px 26px rgba(0,0,0,.35);cursor:pointer}.telegram-float:hover{transform:translateY(-2px)}.telegram-info{position:fixed;right:24px;bottom:88px;z-index:61;width:min(380px,calc(100vw - 32px));padding:22px;border:1px solid rgba(42,171,238,.4);border-radius:20px;background:#151922;box-shadow:0 18px 55px rgba(0,0,0,.5);color:var(--text)}.telegram-info h2{margin:8px 28px 10px 0;font-size:20px;line-height:1.2}.telegram-info>small{color:var(--aqua);font-weight:800;letter-spacing:.12em;font-size:10px}.telegram-info p,.telegram-info li{color:#c8cfdb;font-size:13px}.telegram-info ul{padding-left:20px;margin:12px 0}.telegram-info-note{border-left:2px solid var(--gold);padding-left:10px}.telegram-info-close{position:absolute;right:12px;top:8px;border:0;background:transparent;color:var(--muted);font-size:24px;cursor:pointer}.telegram-info .primary{width:100%;margin-top:4px}@media(max-width:600px){.telegram-float{right:16px;bottom:16px}.telegram-info{right:16px;bottom:82px}}
.task-hero-orbit{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.12);border-radius:30px;box-shadow:inset 0 0 24px rgba(94,224,216,.08)}.task-hero-orbit:after{width:62px;height:62px}.report-child>span{font-size:0;background-color:rgba(164,140,255,.12);background-image:url('/promise-logo.png');background-position:center;background-size:30px;background-repeat:no-repeat;border:1px solid rgba(255,255,255,.12);box-shadow:0 8px 22px rgba(0,0,0,.2)}
