/* Studio / paper, forest, ink. The legacy component layout remains functional. */
:root{--st-paper:#f5f4ef;--st-surface:#fffefa;--st-ink:#263d35;--st-muted:#67756d;--st-line:#dfe3da;--st-accent:#355c49;--st-soft:#e8eee3;--hl-bg:var(--st-paper);--hl-surface:var(--st-surface);--hl-ink:var(--st-ink);--hl-muted:var(--st-muted);--hl-line:var(--st-line);--hl-primary:var(--st-accent);--hl-soft:var(--st-soft)}
body.studio.hl-dark{--st-paper:#19251f;--st-surface:#223129;--st-ink:#e4e9df;--st-muted:#afbfb1;--st-line:#3d4c40;--st-accent:#bed3b3;--st-soft:#314539;--hl-bg:var(--st-paper);--hl-surface:var(--st-surface);--hl-ink:var(--st-ink);--hl-muted:var(--st-muted);--hl-line:var(--st-line);--hl-primary:var(--st-accent);--hl-soft:var(--st-soft)}
body.studio{background:var(--st-paper)!important;color:var(--st-ink)!important;font-family:'Segoe UI',Arial,sans-serif!important;font-size:15px;line-height:1.6;background-image:none!important;letter-spacing:0}
.studio *{text-shadow:none!important}.studio :is(h1,h2,h3,h4){font-family:inherit;letter-spacing:-.025em}.studio :is(button,input,select,textarea){font:inherit}.studio button{box-shadow:none!important}.studio :focus-visible{outline:2px solid var(--st-accent)!important;outline-offset:4px!important}
.st-icon{display:inline-block;width:23px;height:23px;flex-shrink:0;vertical-align:middle}.st-inline-icon{display:inline-flex;vertical-align:middle;margin-right:5px}.st-inline-icon .st-icon{width:20px;height:20px}
body.studio #main-nav.st-nav{background:var(--st-surface)!important;box-shadow:none!important;border:0!important;border-right:1px solid var(--st-line)!important;padding:28px 18px;display:flex;flex-direction:column;gap:24px;width:248px;position:fixed;inset:0 auto 0 0;overflow-y:auto;z-index:80;backdrop-filter:none!important}
body.studio:has(#main-nav:not(.hidden)){padding-left:248px}body.studio:has(#main-nav.hidden){padding-left:0}
body.studio #main-nav.hidden{display:none!important}body.studio:has(#main-nav.hidden) #hl-topbar{display:none!important}
#main-nav .st-brand{display:flex;align-items:center;gap:9px;text-align:left;background:none;border:0;padding:0;color:var(--st-ink);width:100%;white-space:normal}.st-brand>.st-icon{background:var(--st-accent);color:var(--st-surface);width:40px;height:44px;padding:8px;border-radius:12px}.st-brand strong{font-size:14px;display:block;white-space:nowrap}.st-brand strong span{font-weight:400;color:var(--st-muted)}.st-brand small{font-size:10px;color:var(--st-muted);display:block;margin-top:3px}
body.studio #main-nav .st-nav-links{display:flex!important;flex-direction:column!important;gap:5px!important;padding:0!important;overflow:visible!important;background:none!important;border:0!important;width:100%}
body.studio #main-nav .nav-btn{display:flex;align-items:center;gap:12px;border:1px solid transparent!important;border-radius:8px!important;background:transparent!important;color:var(--st-muted)!important;padding:10px 12px!important;font-weight:500!important;font-size:13px!important;white-space:normal;text-align:left;width:100%;margin:0!important;min-height:43px}
body.studio #main-nav .nav-btn:hover{background:var(--st-paper)!important;color:var(--st-ink)!important}body.studio #main-nav .nav-btn.active,body.studio #main-nav .nav-btn[aria-current=page]{background:var(--st-soft)!important;color:var(--st-accent)!important;font-weight:650!important;border-color:var(--st-line)!important}
body.studio #main-nav .st-nav-controls{display:flex;flex-direction:column;gap:8px;margin-top:auto;padding:20px 0 0!important;border-top:1px solid var(--st-line)}.st-nav-controls>.st-button{font-size:12px;justify-content:flex-start;padding:6px 12px;border:0;background:none;color:var(--st-muted)}
.st-profile{display:flex;align-items:center;gap:10px;padding:12px 6px;border:0;border-top:1px solid var(--st-line);background:none;color:var(--st-ink);text-align:left}.st-profile img{width:30px;height:30px;border-radius:50%}.st-profile #user-display-name{font-size:12px;color:var(--st-ink)}.st-connection,.st-session{font-size:10px;color:var(--st-muted);padding-left:6px}.st-session::before{content:'Phiên truy cập · '}
body.studio #hl-topbar.st-topbar{display:flex;position:relative;justify-content:flex-end;align-items:center;gap:10px;padding:15px 36px;border-bottom:1px solid var(--st-line);background:var(--st-paper);flex-direction:row;min-height:68px}.st-topbar .hl-button{font-size:12px;border:0;background:none;color:var(--st-muted);margin:0}.st-topbar kbd{font-size:10px;border:1px solid var(--st-line);padding:1px 5px;border-radius:4px;color:var(--st-muted)}.st-mobile-toggle{display:none}
.studio .app-section{max-width:1440px;margin:auto;padding:32px 36px!important;min-height:0!important;width:100%}.studio .app-section:not(.active){display:none!important}.studio .app-section.active{display:block!important}
.st-heading{margin:0 0 26px}.st-eyebrow{font-size:10px;font-weight:700;letter-spacing:.15em;color:var(--st-muted);margin-bottom:9px}.st-heading h1{font-size:clamp(25px,2.8vw,36px);font-weight:600;line-height:1.3;margin:0 0 9px}.st-heading>p:last-child{font-size:14px;color:var(--st-muted)}
.st-workspace{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:24px}.st-main,.st-aside{min-width:0}.st-focus{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--st-soft);padding:30px;border-radius:14px;margin-bottom:22px;overflow:hidden;min-height:270px}.st-focus>div:first-child{position:relative;z-index:1;min-width:0}.st-focus h2{font-size:clamp(24px,2.5vw,34px);font-weight:600;line-height:1.3;margin:16px 0 12px}.st-focus p{font-size:13px;max-width:325px;color:var(--st-muted);margin-bottom:22px}.st-pill{font-size:9px;letter-spacing:.12em;font-weight:650;border:1px solid #b8c9b4;border-radius:50px;padding:6px 10px;color:var(--st-accent)}.st-orbit{width:190px;flex-shrink:0;color:#88a17b;opacity:.65}.st-orbit svg{width:100%}
.st-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:9px 14px;border:1px solid var(--st-line);border-radius:7px;background:var(--st-surface);color:var(--st-ink);font-size:13px;font-weight:600;cursor:pointer}.st-button:hover{background:var(--st-soft)}.st-button.st-primary{background:var(--st-accent);color:var(--st-surface);border-color:var(--st-accent)}.st-primary:hover{filter:brightness(.93)}
.st-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:24px}.st-shortcut{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:20px 16px;border:1px solid var(--st-line);border-radius:10px;background:var(--st-surface);text-align:left;font-weight:600;color:var(--st-ink);font-size:14px}.st-shortcut:hover{border-color:var(--st-accent)}.st-shortcut>.st-icon{width:32px;height:32px;background:var(--st-soft);padding:5px;border-radius:7px;color:var(--st-accent)}.st-shortcut small{font-size:11px;font-weight:400;color:var(--st-muted);margin-top:-5px}
.st-panel{background:var(--st-surface);border:1px solid var(--st-line);border-radius:12px;padding:22px;margin:0 0 22px;box-shadow:none!important}.st-panel-title{display:flex;align-items:center;gap:9px;font-size:16px;font-weight:600;margin:0 0 20px}.st-caption{font-size:11px!important;text-transform:uppercase;letter-spacing:.06em!important;color:var(--st-muted);font-weight:600;margin:18px 0 9px}.st-panel #dashboard-online-count{font-size:32px!important;line-height:1.4;color:var(--st-accent)!important}.st-panel #dashboard-web-time{font-size:19px!important;margin-top:16px;color:var(--st-ink)!important}.st-muted{color:var(--st-muted);font-size:11px}
.st-panel #daily-motivation-text{font-size:18px!important;font-weight:500!important;line-height:1.6;text-align:left;padding:0}.st-quote #daily-motivation-author{display:block;font-size:12px;margin-top:12px;color:var(--st-muted)}.st-quote #daily-motivation-date{display:none}.st-quote #daily-motivation-source{font-size:10px;display:block;margin-top:7px;color:var(--st-muted)}
/* Shared components: calm surfaces and type scale across all tools. */
.studio :is(.hl-card,.hl-dialog){border-radius:12px!important;background:var(--st-surface)!important;border-color:var(--st-line)!important;color:var(--st-ink)!important;box-shadow:none!important}.studio .hl-card{padding:22px}.studio .hl-card h3{font-size:20px;font-weight:600}.studio .hl-card p{color:var(--st-muted)}.studio .hl-button{border-radius:7px;color:var(--st-accent);font-weight:600}.studio .hl-grid>.hl-card h3{font-size:30px}.studio .hl-page-heading h1{font-size:29px;font-weight:600}.studio .hl-tabs{gap:5px;border-bottom:1px solid var(--st-line);padding-bottom:14px}.studio .hl-tabs .hl-button{background:transparent;border:0;font-size:12px}.studio .hl-tabs .hl-button:hover{background:var(--st-soft)}
.studio :is(.app-section,[id$='-modal'],#login-screen) :is([class*='bg-gradient'],[class*='shadow-glow']){background-image:none!important;box-shadow:none!important}.studio :is(.app-section,[id$='-modal']) :is([class*='bg-slate-9'],[class*='bg-slate-8'],.bg-white,.bg-slate-50,.bg-slate-100){background-color:var(--st-surface)!important;border-color:var(--st-line)!important;color:var(--st-ink)!important}.studio :is(.app-section,[id$='-modal']) :is(.text-white,.text-slate-100,.text-slate-200,.text-slate-300,.text-slate-700,.text-slate-800,.text-slate-900){color:var(--st-ink)!important}
.studio :is(.app-section,[id$='-modal']) :is([class*='text-cyan'],[class*='text-blue'],[class*='text-purple'],[class*='text-emerald'],[class*='text-amber']){color:var(--st-accent)!important}.studio :is(.app-section,[id$='-modal']) :is(.bg-blue-600,.bg-indigo-600,.bg-emerald-600){background:var(--st-accent)!important;color:var(--st-surface)!important}.studio .app-section :is([class*='shadow'],[class*='rounded-\[2rem']){box-shadow:none!important;border-radius:12px}.studio .app-section :is(.font-black,.font-extrabold){font-weight:650!important}.studio .app-section [class*='animate-']{animation:none!important}.studio .app-section input,.studio .app-section select,.studio .app-section textarea{color:var(--st-ink);background:var(--st-surface);border-color:var(--st-line)}
.studio #sec-dashboard .dashboard-event-empty{background:none!important;border:1px dashed var(--st-line)!important;padding:20px;color:var(--st-muted)!important;font-size:12px}.studio #sec-dashboard .st-panel{background:var(--st-surface)!important;color:var(--st-ink)!important}.studio #sec-dashboard .st-focus .st-primary{color:var(--st-surface)!important}
.studio #sec-study{overflow-x:clip}.studio #sec-study .pt-grid{min-width:0!important}.studio #sec-study :is(.pomodoro-layout,.pomodoro-grid,[class*='grid-cols']){min-width:0}.studio #sec-study [class*='overflow-x-auto']{max-width:100%}
/* Admissions planner */
.ad-intro{display:flex;gap:16px;align-items:flex-start;padding-bottom:20px;border-bottom:1px solid var(--st-line);margin-bottom:22px}.ad-intro>.st-icon{width:48px;height:48px;padding:10px;border-radius:12px;background:var(--st-soft)}.ad-intro h2{font-size:25px;font-weight:600}.ad-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.ad-form fieldset{border:0;min-width:0}.ad-form legend{font-weight:650;font-size:14px;margin-bottom:12px}.ad-full{grid-column:1/-1}.ad-checks{display:flex;flex-wrap:wrap;gap:8px}.ad-checks label{display:flex!important;align-items:center;gap:7px;border:1px solid var(--st-line);padding:9px 12px;border-radius:8px;font-size:12px!important}.ad-checks input{width:16px!important;height:16px;accent-color:var(--st-accent)}.ad-scores{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.ad-scores label{font-size:12px}.ad-message{padding:14px 16px;background:var(--st-soft);border-radius:9px;font-size:13px;margin:18px 0;color:var(--st-ink)}.ad-results{display:grid;gap:12px;margin-top:20px}.ad-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:14px;padding:20px;border:1px solid var(--st-line);border-radius:10px;background:var(--st-surface)}.ad-number{font-size:24px;color:var(--st-muted);font-variant-numeric:tabular-nums}.ad-row h3{font-size:17px!important;margin:6px 0}.ad-row p{font-size:12px!important;margin:6px 0!important}.ad-badge{font-size:10px;letter-spacing:.05em;font-weight:650;border:1px solid var(--st-line);border-radius:20px;padding:4px 8px;background:var(--st-soft)}.ad-row[data-group=dream] .ad-badge{background:#eee9f0;color:#5f4f6a}.ad-row[data-group=match] .ad-badge{background:#e7eee3;color:#3e593a}.ad-row[data-group=safe] .ad-badge{background:#e5ebee;color:#3b5562}.ad-tools{display:flex;flex-direction:column;gap:6px}.ad-tools button{font-size:11px;padding:5px 8px;border:1px solid var(--st-line);border-radius:5px}.ad-tools button:disabled{opacity:.35}.ad-row a{font-size:11px;text-decoration:underline;color:var(--st-accent)}.ad-controls{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.ad-meta{font-size:11px!important;color:var(--st-muted)}
@media(max-width:1250px){.st-workspace{grid-template-columns:minmax(0,1fr) 250px;gap:18px}.st-orbit{width:110px}.studio .app-section{padding:26px!important}.st-shortcut{font-size:12px;padding:15px 12px}.st-panel{padding:18px}}
@media(max-width:1050px){.st-workspace{grid-template-columns:1fr}.st-aside{display:grid;grid-template-columns:1fr 1fr;gap:18px}.st-orbit{width:170px}}
@media(max-width:900px){body.studio:has(#main-nav:not(.hidden)){padding-left:0}body.studio #main-nav.st-nav{position:relative;inset:auto;width:100%;padding:16px 20px;display:grid;grid-template-columns:1fr auto;gap:0;overflow:visible;border-right:0!important;border-bottom:1px solid var(--st-line)!important}.st-mobile-toggle{display:flex;align-items:center;gap:6px;padding:8px 12px;font-size:12px;border:1px solid var(--st-line);border-radius:7px;background:none;color:var(--st-ink)}body.studio #main-nav .st-nav-links,body.studio #main-nav .st-nav-controls{display:none!important}body.studio #main-nav.st-menu-open .st-nav-links{display:grid!important;grid-template-columns:1fr 1fr!important;grid-column:1/-1;margin-top:18px}body.studio #main-nav.st-menu-open .st-nav-controls{display:flex!important;grid-column:1/-1;margin-top:18px}body.studio #hl-topbar.st-topbar{padding:8px 14px;min-height:48px;gap:0;justify-content:space-between}.st-topbar .hl-button{padding:7px;font-size:11px}.st-topbar .st-icon{width:18px;height:18px}.st-topbar kbd{display:none}}
@media(max-width:540px){.studio .app-section{padding:24px 16px!important}.st-heading h1{font-size:27px}.st-heading>p:last-child{font-size:12px}.st-focus{padding:24px;position:relative;min-height:270px}.st-orbit{position:absolute;width:170px;right:-66px;top:0;opacity:.22}.st-focus h2{font-size:28px}.st-focus p{max-width:240px;font-size:12px}.st-shortcuts{grid-template-columns:1fr;gap:9px}.st-shortcut{display:grid;grid-template-columns:32px 1fr;gap:0 14px;padding:14px 16px;font-size:14px}.st-shortcut .st-icon{grid-row:span 2}.st-shortcut small{margin:3px 0 0;grid-column:2}.st-aside{display:block}.st-panel{padding:18px}.ad-form{grid-template-columns:1fr}.ad-scores{grid-template-columns:repeat(2,minmax(0,1fr))}.ad-row{grid-template-columns:28px minmax(0,1fr);gap:10px;padding:15px}.ad-tools{grid-column:2;flex-direction:row;flex-wrap:wrap}.ad-intro h2{font-size:22px}.ad-intro>.st-icon{display:none}.studio .hl-card{padding:18px}.studio .hl-page-heading h1{font-size:25px}}
@media print{body.studio{padding:0!important}#main-nav,#hl-topbar,.ad-form,.ad-controls,.ad-tools{display:none!important}.ad-row{break-inside:avoid}.ad-results{display:block}.ad-row a{overflow-wrap:anywhere}}
