/* Troly v39 | CSS goc duy nhat. Thu tu cascade va !important can thiet duoc bao toan. */
/* ===== app.css ===== */
*{box-sizing:border-box;}
html,body{margin:0;}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);background:#fff;font-size:14px;}
.app-shell{min-height:100vh;display:grid;grid-template-columns:205px minmax(0,1fr);}
.sidebar{position:sticky;top:0;height:100vh;background:var(--nav);color:#d8e0ee;padding:18px 14px;display:flex;flex-direction:column;}
.brand{display:flex;align-items:center;gap:10px;margin:0 4px 24px;}
.brand-mark{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#5064ff,#8156ee);display:grid;place-items:center;color:#fff;font-weight:800;font-size:20px;box-shadow:0 8px 20px rgba(91,85,247,.28);}
.brand strong{display:block;color:#fff;font-size:15px;}
.brand small,.sidebar-user small{display:block;color:#8290a8;font-size:10px;margin-top:2px;}
.sidebar nav{display:grid;gap:5px;}
.sidebar nav a{color:#b9c5d9;text-decoration:none;padding:10px 11px;border-radius:11px;display:flex;align-items:center;gap:10px;font-size:13px;font-weight:560;}
.sidebar nav a:hover,.sidebar nav a.active{background:#1e2c42;color:#fff;}
.nav-dot{width:17px;text-align:center;color:#a9bcdf;}
.sidebar-user{margin-top:auto;border-top:1px solid #25344d;padding-top:14px;display:flex;gap:9px;align-items:center;}
.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#20314d;color:#fff;font-weight:800;}
.logout{color:#9da9bb;text-decoration:none;font-size:11px;margin-top:10px;}
.main{min-width:0;background:#fff;}
.topbar{height:80px;padding:16px 30px;border-bottom:1px solid #edf0f4;display:flex;justify-content:space-between;align-items:center;background:#fff;position:sticky;top:0;z-index:10;}
.topbar h1{font-size:21px;margin:0 0 4px;}
.topbar p{margin:0;color:#718099;font-size:12px;}
.top-actions{display:flex;gap:10px;align-items:center;}
.icon-btn{width:38px;height:38px;border:1px solid var(--line);background:#fff;border-radius:12px;}
.avatar.dark{background:#20304c;}
.content{padding:22px 30px 40px;background:#f8fafc;min-height:calc(100vh - 80px);}
.panel{background:#fff;border:1px solid #e7ebf1;border-radius:18px;box-shadow:var(--shadow);padding:22px;}
.panel h2{font-size:18px;margin:0 0 6px;}
.panel p{color:var(--muted);font-size:12px;}
.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;}
.auto-pill{background:#f4f6ff;border:1px solid #dfe4ff;color:#4053d8;border-radius:10px;padding:8px 10px;font-size:11px;font-weight:700;white-space:nowrap;}
.notice{padding:12px 16px;border-radius:12px;margin-bottom:14px;}
.notice.success{background:#e9fbf2;border:1px solid #bfefd4;color:#16845a;}
.notice.error{background:#fff0f1;border:1px solid #f7cfd3;color:#b52b37;}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px;}
.stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:var(--shadow);}
.stat span{color:#718099;font-size:12px;}
.stat strong{display:block;font-size:23px;margin-top:8px;}
.stat.positive strong{color:#16a269;}
.stat.negative strong{color:#dc4d59;}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;}
.stack{display:grid;gap:12px;}
.stack label,.task-form label{display:grid;gap:6px;font-size:11px;font-weight:700;color:#3b4658;}
.stack input,.stack select,.stack textarea,.task-form input,.task-form select,.task-form textarea{width:100%;border:1px solid #dfe5ee;border-radius:11px;background:#fff;padding:10px 12px;font:inherit;outline:none;}
.stack input:focus,.task-form input:focus,.task-form textarea:focus,.task-form select:focus{border-color:#a8b1ff;box-shadow:0 0 0 3px rgba(83,97,255,.08);}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border:0;border-radius:10px;background:#eef1f5;color:#465266;padding:0 14px;font-weight:700;text-decoration:none;cursor:pointer;}
.btn.primary{color:#fff;background:linear-gradient(135deg,#5063ff,#7251ed);}
.btn.small{min-height:30px;padding:0 10px;font-size:11px;}
.task-form-panel{margin-bottom:16px;}
.task-form{display:grid;grid-template-columns:1.7fr repeat(4,1fr);gap:12px;margin-top:16px;}
.task-form .span2{grid-column:span 2;}
.task-form .full{grid-column:1/-1;}
.task-form textarea{min-height:80px;resize:vertical;}
.form-actions{display:flex;justify-content:flex-end;gap:8px;}
.task-list-wrap{background:var(--list);border:1px solid #e3e7ec;border-radius:18px;padding:16px;}
.task-list-head h2{font-size:18px;margin:0 0 4px;}
.task-list-head p{margin:0;color:#7c8799;font-size:11.5px;}
.task-toolbar{position:sticky;top:88px;z-index:8;margin:12px 0;display:flex;gap:8px;align-items:center;background:rgba(255,255,255,.93);border:1px solid #e1e6ed;border-radius:12px;padding:8px;box-shadow:0 7px 18px rgba(20,31,50,.06);}
.searchbox{flex:1;min-width:180px;border:1px solid #dfe4eb;border-radius:9px;background:#fff;padding:0 10px;color:#8792a4;}
.searchbox input{height:34px;border:0;outline:0;width:calc(100% - 18px);font-size:12px;}
.filters,.density{display:flex;gap:3px;}
.filters button,.density button{border:0;background:transparent;border-radius:8px;padding:7px 8px;color:#6b7689;font-size:10.5px;font-weight:700;cursor:pointer;}
.filters button.active,.density button.active{background:#eef0ff;color:#4251df;}
.task-list{display:grid;gap:8px;}
.task-card{background:#fff;border:1px solid #dde3eb;border-left:4px solid #d8dee8;border-radius:14px;box-shadow:0 5px 16px rgba(18,29,48,.045);padding:12px 12px 9px;transition:.15s;}
.task-card:hover{box-shadow:0 9px 22px rgba(18,29,48,.07);border-color:#d0d8e3;}
.task-card.priority-important{border-left-color:#e14b55;}
.task-card.state-done_on_time,.task-card.state-done_late{border-left-color:#1fa66d;}
.task-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;}
.badges{display:flex;gap:5px;margin-bottom:4px;}
.badge{display:inline-flex;align-items:center;border-radius:999px;padding:3px 6px;font-size:9px;font-weight:800;background:#eef1f5;color:#657086;}
.badge.danger{background:#ffe9eb;color:#c62837;}
.badge.success{background:#e6f8ef;color:#147949;}
.badge.status{background:#edf0ff;color:#3f51d5;}
.task-card.state-done_on_time .badge.status,.task-card.state-done_late .badge.status{background:#e7f7ee;color:#157a4e;}
.task-card h3{font-size:15px;line-height:1.3;margin:0;font-weight:760;letter-spacing:-.01em;}
.card-actions{display:flex;gap:6px;align-items:center;}
.card-actions a,.card-actions button{width:27px;height:27px;border:0;border-radius:8px;background:#f6f7f9;color:#5d6a7d;display:grid;place-items:center;text-decoration:none;cursor:pointer;}
.card-actions button{color:#d94a54;}
.card-actions form{margin:0;}
.task-metrics{display:grid;grid-template-columns:2.3fr .8fr 1.35fr .85fr;gap:6px;margin-top:9px;}
.metric{min-width:0;border:1px solid #e3e7ed;background:#f8f9fb;border-radius:10px;padding:7px 9px;}
.metric span{display:block;text-transform:uppercase;letter-spacing:.045em;color:#7b8799;font-size:8.5px;font-weight:800;margin-bottom:2px;}
.metric strong{display:block;font-size:11.6px;line-height:1.25;color:#273247;white-space:normal;}
.metric.schedule{background:#14243c;border-color:#14243c;}
.metric.schedule span{color:rgba(255,255,255,.68);}
.metric.schedule strong{color:#fff;font-size:11.8px;}
.task-card.state-done_late .metric.schedule{background:#0d6c43;border-color:#0d6c43;}
.task-card.state-done_on_time .metric.schedule{background:#dff5e8;border-color:#bfe9d1;}
.task-card.state-done_on_time .metric.schedule span{color:#418063;}
.task-card.state-done_on_time .metric.schedule strong{color:#12653f;}
.task-card.state-overdue .metric.schedule{background:#c9343f;border-color:#c9343f;}
.task-card.state-doing .metric.schedule{background:#df7616;border-color:#df7616;}
.task-card.state-upcoming .metric.schedule{background:#fff0d9;border-color:#f4d5a8;}
.task-card.state-upcoming .metric.schedule span{color:#97652b;}
.task-card.state-upcoming .metric.schedule strong{color:#7c4a12;}
.metric.actual{background:#eef5ff;}
.task-card.state-overdue .metric.actual{background:#fff0f1;border-color:#f2cdd1;}
.task-card.state-done_on_time .metric.actual,.task-card.state-done_late .metric.actual{background:#eaf8f1;border-color:#d0ebdc;}
.progressline{display:flex;align-items:center;gap:7px;}
.progressline>strong{font-size:14px;color:#4251df;}
.progressline i,.step-progress i{height:5px;background:#e6e9ef;border-radius:999px;overflow:hidden;display:block;flex:1;}
.progressline i b,.step-progress i b{height:100%;display:block;background:linear-gradient(90deg,#5162ff,#6f53ed);border-radius:999px;}
.steps{margin-top:7px;border-top:1px solid #edf0f4;padding-top:6px;}
.steps summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;color:#536073;font-size:10.5px;font-weight:700;}
.steps summary::-webkit-details-marker{display:none;}
.step-progress{display:flex;align-items:center;flex:1;max-width:160px;}
.steps .chev{margin-left:auto;}
.steps[open] .chev{transform:rotate(180deg);}
.steps-body{margin-top:7px;display:grid;gap:4px;max-height:none;overflow:visible;}
.step-row{display:grid;grid-template-columns:24px 1fr 24px;align-items:center;gap:6px;min-height:30px;border:1px solid #edf0f3;border-radius:8px;padding:3px 6px;background:#fff;font-size:11px;}
.step-row.done{background:#f4fbf7;color:#658074;text-decoration:line-through;}
.check,.step-delete{width:21px;height:21px;border:0;border-radius:6px;background:#edf1f5;cursor:pointer;}
.step-row.done .check{background:#27b278;color:#fff;}
.step-delete{background:transparent;color:#df5961;}
.add-step{display:grid;grid-template-columns:1fr auto;gap:6px;margin-top:3px;}
.add-step input{border:1px solid #dfe5ed;border-radius:8px;padding:7px 9px;font-size:11px;}
.task-card.hidden{display:none;}
.simple-row,.calendar-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid #eef1f5;}
.simple-row:last-child,.calendar-row:last-child{border-bottom:0;}
.simple-row small,.calendar-row small{display:block;color:#8390a3;font-size:11px;margin-top:3px;}
.unread{background:#f6f7ff;}
.done-row{opacity:.65;}
.empty{padding:24px;text-align:center;color:#8a95a6;}
.narrow{max-width:650px;}
.checkline{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;}
.checkline input{width:auto!important;}
.reminder-pop{position:fixed;top:24px;left:50%;transform:translateX(-50%);z-index:999999;width:min(560px,calc(100vw - 24px));background:#fff;border:1px solid #dfe5ed;border-radius:16px;box-shadow:0 18px 60px rgba(17,28,47,.2);padding:14px;display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;}
.reminder-pop[hidden]{display:none;}
.bell{width:38px;height:38px;border-radius:12px;background:#fff3d8;display:grid;place-items:center;}
.reminder-copy strong{font-size:13px;}
.reminder-copy p{margin:2px 0;color:#4f5c70;font-size:12px;}
.reminder-copy small{color:#8b96a7;}
.reminder-actions{display:flex;gap:5px;}
.troly-login-body{min-height:100vh;display:grid;place-items:center;background:#f4f7fb;padding:20px;}
.troly-login-card{width:min(460px,100%);background:#fff;border:1px solid #e3e8ef;border-radius:24px;padding:36px;box-shadow:0 18px 60px rgba(22,34,55,.12);}
.troly-login-logo{width:54px;height:54px;border-radius:16px;background:linear-gradient(135deg,#5367ff,#7c53ef);color:#fff;display:grid;place-items:center;font-size:25px;font-weight:800;margin:0 auto 18px;}
.troly-login-card h1{text-align:center;margin:0;font-size:26px;}
.troly-login-card>p{text-align:center;color:#7b8798;margin:7px 0 24px;}
.troly-login-card form{display:grid;gap:14px;}
.troly-login-card label{display:grid;gap:6px;font-size:12px;font-weight:700;}
.troly-login-card input{height:46px;border:1px solid #dce2ea;border-radius:12px;padding:0 12px;}
.troly-login-card .remember{display:flex;align-items:center;gap:8px;}
.troly-login-card .remember input{height:auto;width:auto;}
body[data-density="comfortable"] .task-card{padding:15px;}
body[data-density="comfortable"] .metric{padding:9px 10px;}
body[data-density="comfortable"] .task-card h3{font-size:16px;}
body[data-density="ultra"] .task-card{padding:8px 9px 6px;border-radius:11px;}
body[data-density="ultra"] .task-card h3{font-size:13.5px;}
body[data-density="ultra"] .task-metrics{margin-top:5px;gap:4px;}
body[data-density="ultra"] .metric{padding:5px 7px;border-radius:8px;}
body[data-density="ultra"] .metric strong{font-size:10.6px;}
body[data-density="ultra"] .steps{margin-top:4px;padding-top:4px;}
@media (max-width:1100px){.task-form{grid-template-columns:repeat(3,1fr);}
.task-metrics{grid-template-columns:1.8fr .8fr 1.2fr .8fr;}
.filters button:nth-child(n/**/+5){display:none;}}
@media (max-width:820px){.app-shell{grid-template-columns:72px 1fr;}
.brand>div,.sidebar nav a:not(.active) .nav-label,.sidebar-user>div:not(.avatar),.logout{display:none;}
.brand{justify-content:center;}
.sidebar nav a{justify-content:center;}
.sidebar nav a{font-size:0;}
.nav-dot{font-size:16px;}
.task-toolbar{position:static;flex-wrap:wrap;}
.searchbox{flex-basis:100%;}
.task-metrics{grid-template-columns:1fr 1fr;}
.metric.schedule{grid-column:1/-1;}
.task-form{grid-template-columns:1fr 1fr;}
.task-form .span2{grid-column:span 1;}
.split{grid-template-columns:1fr;}}
@media (max-width:560px){.app-shell{display:block;}
.sidebar{position:fixed;left:0;right:0;bottom:0;top:auto;height:62px;z-index:30;display:block;padding:6px 8px;}
.brand,.sidebar-user,.logout{display:none;}
.sidebar nav{display:flex;gap:4px;}
.sidebar nav a{min-width:58px;padding:8px 6px;}
.main{padding-bottom:65px;}
.topbar{height:67px;}
.content{padding:10px;}
.task-form{grid-template-columns:1fr;}
.task-form .span2{grid-column:auto;}
.task-metrics{grid-template-columns:1fr;}
.metric.schedule{grid-column:auto;}
.filters{overflow-x:auto;width:100%;}
.density{display:none;}
.stats{grid-template-columns:1fr;}
.reminder-pop{grid-template-columns:36px 1fr;}
.reminder-actions{grid-column:1/-1;justify-content:flex-end;}}
.v4-timer-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:7px;margin-top:7px;border-top:1px solid #edf1f4;flex-wrap:wrap;}
.v4-timer-status{font-size:11px;color:#6c7689;font-weight:600;}
.v4-running{color:#168454;font-weight:750;}
.v4-timer-actions{display:flex;gap:5px;}
.v4-fee-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.75fr);gap:12px;padding:13px 0;border-bottom:1px solid #ebeff3;}
.v4-fee-row>div{min-width:0;display:grid;gap:5px;align-content:center;}
.v4-fee-row small{color:#6d788d;font-size:11px;}
.v4-pay-form{display:flex;gap:8px;align-items:end;flex-wrap:wrap;}
.v4-pay-form label{font-size:11px;color:#505e73;font-weight:700;display:grid;gap:4px;flex:1;min-width:115px;}
.v4-pay-form input{width:100%;border:1px solid #dce4ec;padding:8px 9px;border-radius:9px;font:inherit;}
.v4-good{color:#12825a;font-size:11px;font-weight:800;}
.v4-danger{color:#c33945;font-size:11px;font-weight:800;}
.v4-subtitle{font-size:14px;margin:22px 0 10px;}
.v4-hint{background:#f7f9fc;border:1px solid #e5e9f1;border-radius:11px;padding:10px;line-height:1.55;}
.v4-finance-details{margin-top:16px;border:1px solid rgba(17,17,17,.10);border-radius:13px;background:rgba(255,255,255,.56);overflow:hidden;}
.v4-finance-details>summary{list-style:none;cursor:pointer;min-height:46px;display:flex;align-items:center;justify-content:space-between;padding:12px 14px;font-size:13px;font-weight:750;color:#191919;}
.v4-finance-details>summary::-webkit-details-marker{display:none;}
.v4-finance-details>summary::after{content:"+";font-size:20px;line-height:1;font-weight:450;color:#333;}
.v4-finance-details[open]>summary::after{content:"−";}
.v4-finance-details[open]>summary{border-bottom:1px solid rgba(17,17,17,.07);}
.v4-finance-details>summary:hover{background:rgba(255,255,255,.75);}
.v4-finance-details>summary:focus-visible{outline:2px solid #FFD700;outline-offset:-3px;}
.v4-finance-details-body{padding:15px 14px 17px;}
.v4-finance-details .stack{margin:0;}
.v4-finance-empty{font-size:13px;color:#69727e;margin:12px 0;}
@media (max-width:600px){.v37-finance-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
.v37-finance-stats>.stat{min-width:0;padding:13px 14px;}
.v37-finance-stats>.stat:first-child{grid-column:1/-1;}
.v37-finance-stats>.stat strong{font-size:19px;overflow-wrap:anywhere;margin-top:5px;}
.v37-finance-stats>.stat span{font-size:11.5px;}}
.v4-transaction-history{margin-top:16px;}
.v4-table-scroll{overflow-x:auto;}
.v4-table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap;}
.v4-table th,.v4-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #eef1f5;}
.v4-table th{color:#68788f;background:#f7f9fb;font-weight:750;}
[data-v4-transfer-destination][hidden]{display:none!important;}
@media (max-width:820px){.v4-fee-row{grid-template-columns:1fr;}
.v4-pay-form{align-items:center;}}
@media (min-width:561px){.sidebar nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;align-content:start;grid-auto-rows:max-content;scrollbar-width:thin;scrollbar-color:#52617b transparent;padding-right:3px;}
.sidebar-user,.sidebar .logout{flex-shrink:0;}}
@media (max-width:560px){.sidebar nav{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;}}
/* ===== v5.css ===== */
.v5-titlebar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:15px;}
.v5-titlebar h2,.v5-two-cols h2,.v5-calendar-dashboard h2{margin:0 0 5px;font-size:18px;letter-spacing:-.025em;line-height:1.3;}
.v5-titlebar p,.v5-two-cols .panel>p,.v5-calendar-dashboard p{font-size:12px;color:#728198;line-height:1.55;margin:2px 0 8px;}
.v5-nav{display:flex;gap:6px;flex-wrap:wrap;}
.v5-nav .btn{font-size:11px;white-space:nowrap;padding:9px 12px;}
.v5-calendar-dashboard{overflow:visible;}
.v5-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:15px;}
.v5-summary>div{min-width:0;border:1px solid #e1e7f0;background:#f9fafc;border-radius:12px;padding:11px 13px;display:grid;gap:4px;}
.v5-summary small{font-size:10px;font-weight:650;color:#718097;}
.v5-summary strong{font-size:16px;color:#18263e;font-weight:800;}
.v5-summary .v5-warn-text strong{color:#c13843;}
.v5-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;}
.v5-day{min-width:0;min-height:220px;border:1px solid #e5eaf2;background:#fff;border-radius:13px;padding:10px 9px;display:flex;flex-direction:column;gap:7px;}
.v5-day.is-over{border-color:#f2bdc2;box-shadow:inset 0 3px #e0525a;}
.v5-day.is-conflicted:not(.is-over){border-color:#f2d4ad;box-shadow:inset 0 3px #e2a042;}
.v5-day-header{display:flex;align-items:center;justify-content:space-between;gap:5px;}
.v5-day-header strong{font-size:11px;letter-spacing:-.01em;}
.v5-day-header span{font-size:11px;color:#8290a3;}
.v5-day-meter{height:5px;background:#edf1f7;overflow:hidden;border-radius:7px;}
.v5-day-meter i{display:block;height:100%;background:#5162ea;border-radius:7px;}
.v5-day.is-over .v5-day-meter i{background:#dd4a55;}
.v5-day-caption{font-size:10px;color:#68758b;font-weight:700;}
.v5-day-tasks{display:grid;align-content:start;gap:6px;margin-top:4px;}
.v5-day-task{display:grid;gap:3px;min-width:0;background:#f7f9fc;border:1px solid #e9eef5;border-radius:9px;padding:7px;text-decoration:none;color:#172540;}
.v5-day-task:hover{background:#f0f3ff;border-color:#bac5ff;}
.v5-day-task time{color:#4656a5;font-weight:800;font-size:9.5px;}
.v5-day-task span{font-size:10.5px;font-weight:670;line-height:1.35;overflow-wrap:anywhere;}
.v5-day-task.done{opacity:.55;}
.v5-day-task.conflict{border-left:3px solid #e59432;}
.v5-tag{display:inline-flex;align-items:center;gap:3px;font-size:10px;line-height:1.25;padding:5px 8px;border-radius:8px;background:#edf1fa;color:#4d5d79;font-weight:750;max-width:100%;}
.v5-tag.danger{background:#fff0f1;color:#b62937;}
.v5-tag.warning{background:#fff6e7;color:#a46412;}
.v5-tag.success{background:#e9f8ee;color:#117749;}
.v5-footnote{font-size:11px;color:#7b8799;line-height:1.55;margin:12px 0 0!important;}
.v5-muted{color:#94a0ad;font-size:11px;font-weight:550;}
.v5-two-cols{display:grid;grid-template-columns:1.25fr 1fr;gap:16px;align-items:start;margin:16px 0;}
.v5-two-cols .panel{min-width:0;}
.v5-alert-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:9px 0;border-bottom:1px solid #eef1f6;font-size:12px;}
.v5-alert-line strong{margin-right:auto;}
.v5-suggestion{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #e1e6ed;background:#fff;border-radius:11px;padding:10px 12px;margin-top:9px;}
.v5-suggestion>div{display:grid;gap:4px;min-width:0;}
.v5-suggestion strong{font-size:12px;color:#18263a;}
.v5-suggestion small{font-size:10.5px;color:#728099;}
.v5-suggestion small.v5-positive{color:#16885c;font-weight:750;}
.v5-suggestion form{flex:0 0 auto;}
.v5-safe{background:#effaf3;border:1px solid #cfecda;padding:14px;border-radius:10px;color:#176947;font-size:12px;}
.v5-safe p{margin-top:5px!important;color:#50886d!important;}
.v5-setting-form,.v5-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end;margin-top:14px;}
.v5-setting-form label,.v5-form label{display:grid;gap:5px;min-width:0;color:#46546a;font-size:11px;font-weight:800;}
.v5-setting-form input,.v5-form input,.v5-form select,.v5-form textarea{width:100%;min-width:0;min-height:40px;border-radius:9px;border:1px solid #dfe5ee;background:#fff;padding:9px 10px;font:inherit;font-size:12px;color:#25344b;}
.v5-form textarea{resize:vertical;}
.v5-full{grid-column:1/-1;}
.v5-weekdays{border:1px solid #e6ebf3;border-radius:11px;display:flex;gap:12px;flex-wrap:wrap;padding:9px 11px!important;}
.v5-weekdays legend{font-size:11px;font-weight:800;color:#55637a;padding:0 3px;}
.v5-weekdays label{display:flex;align-items:center;gap:3px;font-size:11px;}
.v5-weekdays input{width:auto;min-height:auto;}
.v5-weekdays[hidden],[data-v5-monthday][hidden]{display:none!important;}
.v5-recurrence-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #edf1f6;}
.v5-recurrence-row>div{min-width:0;display:grid;gap:5px;}
.v5-recurrence-row strong{font-size:12px;color:#1d2a40;}
.v5-recurrence-row small{font-size:10px;color:#718098;}
.v5-recurrence-row form{flex:0 0 auto;}
.v5-empty{padding:20px;border:1px dashed #dae2ed;border-radius:12px;text-align:center;font-size:12px;color:#8593a6;}
.v5-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.v5-project-card{border:1px solid #e3e8f0;border-radius:13px;padding:14px;background:#fff;min-width:0;display:grid;gap:10px;}
.v5-project-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.v5-project-head strong{font-size:14px;color:#18263e;}
.v5-project-card p{font-size:12.5px;color:#758399;line-height:1.55;margin:0;}
.v5-project-card small{font-size:12px;color:#6c7c92;}
.v5-project-progress{height:6px;background:#edf0f6;border-radius:10px;overflow:hidden;}
.v5-project-progress span{display:block;height:100%;background:linear-gradient(90deg,#5267f4,#38ad7d);border-radius:10px;}
.v5-project-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;}
.v5-project-actions form{margin:0;}
.v5-project-actions .btn{font-size:12px;min-height:36px;}
.task-form label select[name="project_id"]{min-width:0;}
@media (max-width:1340px){.v5-week-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
.v5-day{min-height:175px;}}
@media (max-width:980px){.v5-week-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.v5-two-cols{grid-template-columns:1fr;}
.v5-summary{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:620px){.v5-week-grid,.v5-project-grid{grid-template-columns:1fr;}
.v5-day{min-height:auto;}
.v5-setting-form,.v5-form{grid-template-columns:1fr;}
.v5-full{grid-column:auto;}
.v5-suggestion{flex-wrap:wrap;}
.v5-suggestion form{width:100%;}
.v5-suggestion .btn{width:100%;}
.v5-calendar-dashboard{padding:14px!important;}
.v5-summary strong{font-size:14px;}
.v5-nav{width:100%;}
.v5-nav .btn{flex:1;text-align:center;padding:8px;}}
.v5-overview-alerts{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;background:#fff6e7;border:1px solid #f1dcb7;color:#8a571b;border-radius:12px;padding:12px 15px;margin:0 0 14px;}
.v5-overview-alerts>div:first-child{display:grid;gap:3px;}
.v5-overview-alerts strong{font-size:12.5px;}
.v5-overview-alerts small{font-size:11px;line-height:1.4;}
.v5-overview-alerts .btn{background:#fff;border-color:#e9cf9f;color:#805624;}
/* ===== v6.css ===== */
.v6-page{display:grid;gap:17px;color:#182238;max-width:1600px;}
.v6-page *{box-sizing:border-box;}
.v6-hero{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:22px 25px;border:1px solid #e5e9f0;border-radius:17px;background:#fff;}
.v6-overline{font-size:10px;font-weight:850;color:#5a66be;letter-spacing:.12em;}
.v6-hero h2{font-size:24px;margin:5px 0 6px;letter-spacing:-.03em;}
.v6-hero p{font-size:12px;color:#65718a;line-height:1.55;margin:0;max-width:800px;}
.v6-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;}
.v6-metric{padding:15px 16px;background:#fff;border:1px solid #e6eaf1;border-radius:14px;display:grid;gap:7px;min-width:0;}
.v6-metric>span{font-size:11px;font-weight:750;color:#697587;}
.v6-metric strong{font-size:clamp(16px,1.55vw,24px);font-weight:850;letter-spacing:-.025em;overflow-wrap:anywhere;}
.v6-metric small{font-size:10px;color:#7d8795;}
.v6-metric.v6-accent{background:#f3f3ff;}
.v6-metric.v6-alert{background:#fff9f0;}
.v6-metric.v6-danger{background:#fff1f2;color:#c4283a;}
.v6-metric.v6-success{background:#effbf5;color:#197447;}
.v6-warning{background:#fff4eb;color:#9b4519;border:1px solid #f5d5bc;padding:12px 14px;border-radius:12px;font-size:12px;}
.v6-tabs{display:flex;gap:5px;overflow-x:auto;padding:5px;background:#f0f2f7;border-radius:12px;border:1px solid #e4e8f0;}
.v6-tabs a{white-space:nowrap;color:#617085;border-radius:9px;padding:9px 15px;font-size:12px;font-weight:750;text-decoration:none;}
.v6-tabs a.active{color:#3342c5;background:#fff;box-shadow:0 1px 4px #1112;}
.v6-card{background:#fff;border:1px solid #e4e9f0;border-radius:16px;padding:20px;min-width:0;}
.v6-card h3{font-size:17px;letter-spacing:-.02em;margin:0 0 8px;}
.v6-card h4{font-size:13px;margin:22px 0 12px;}
.v6-card p{font-size:12px;line-height:1.55;color:#728095;margin:3px 0 15px;}
.v6-card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;}
.v6-columns{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.95fr);gap:16px;}
.v6-triple{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;}
.v6-forecast-cell{background:#f8f9fc;border:1px solid #e6eaf0;border-radius:12px;padding:13px 14px;display:grid;gap:7px;min-width:0;}
.v6-forecast-cell span{font-size:11px;color:#657188;font-weight:750;}
.v6-forecast-cell strong{font-size:clamp(15px,1.5vw,20px);overflow-wrap:anywhere;}
.v6-forecast-cell small{color:#8791a3;font-size:10px;}
.v6-red{color:#c93647!important;}
.v6-comparison{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0;padding:13px 0;border-block:1px solid #edf0f5;}
.v6-comparison>div{display:grid;gap:6px;}
.v6-comparison span{font-size:10px;color:#758095;}
.v6-comparison b{font-size:14px;}
.v6-plot{overflow:hidden;}
.v6-chart-bars{display:flex;align-items:flex-end;justify-content:space-between;gap:5px;height:165px;padding:8px 4px 0;border-bottom:1px solid #dfe4ed;overflow-x:auto;}
.v6-chart-point{display:grid;grid-template-rows:100px auto auto;min-width:36px;max-width:100px;flex:1;text-align:center;gap:5px;align-items:end;justify-items:center;}
.v6-chart-track{height:100px;width:100%;max-width:22px;display:flex;align-items:end;background:#f0f2f7;border-radius:5px 5px 0 0;}
.v6-chart-track i{width:100%;display:block;background:#6578ef;border-radius:4px 4px 0 0;}
.v6-chart-track i.is-negative{background:#ee7180;}
.v6-chart-point>span{font-size:9px;color:#778094;}
.v6-chart-point>small{font-size:9px;color:#54617c;white-space:nowrap;}
.v6-note{font-size:11px!important;color:#7d8898!important;background:#f8faff;padding:10px 12px;border-radius:9px;margin:15px 0 0!important;}
.v6-empty{padding:16px;background:#f8f9fb;border-radius:10px;}
.v6-tablewrap{overflow-x:auto;}
.v6-table{width:100%;border-collapse:collapse;text-align:left;min-width:560px;}
.v6-table th{font-size:10px;color:#6f7c8d;text-transform:uppercase;letter-spacing:.05em;background:#f5f7fa;padding:10px 12px;}
.v6-table td{padding:11px 12px;font-size:12px;border-bottom:1px solid #eef0f4;}
.v6-right{text-align:right!important;}
.v6-form{display:grid;gap:12px;}
.v6-form label{display:grid;gap:6px;font-size:12px;font-weight:750;color:#3b465c;}
.v6-form input,.v6-form select,.v6-form textarea{width:100%;min-width:0;max-width:100%;padding:11px 12px;border-radius:9px;border:1px solid #dce3eb;background:#fff;color:#26344a;font-size:12px;}
.v6-form button{justify-self:start;}
.v6-month-nav{display:flex;gap:10px;align-items:center;}
.v6-month-nav a{padding:5px 9px;border:1px solid #e6ebf2;border-radius:8px;text-decoration:none;}
.v6-month-nav strong{font-size:12px;white-space:nowrap;}
.v6-inline-summary{display:flex;gap:20px;flex-wrap:wrap;background:#f7f9fe;padding:13px;border-radius:9px;font-size:12px;margin:12px 0;}
.v6-inline-summary b{color:#3544ce;}
.v6-budget-row{padding:14px 0;border-bottom:1px solid #ecf0f4;}
.v6-budget-row>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px;}
.v6-budget-row strong{font-size:12px;}
.v6-budget-row span{font-size:11px;color:#657087;text-align:right;}
.v6-budget-row small{font-size:10px;color:#6e7d8f;}
.v6-bar{height:7px;background:#e8ecf4;border-radius:20px;overflow:hidden;margin-bottom:5px;}
.v6-bar i{display:block;height:100%;background:#5366d9;border-radius:20px;}
.v6-bar i.over{background:#e44859;}
.v6-debt-item{display:grid;gap:7px;padding:14px 0;border-bottom:1px solid #ecf0f4;}
.v6-debt-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.v6-debt-title strong{font-size:13px;}
.v6-pill{font-size:9px;border-radius:99px;padding:4px 8px;font-weight:750;background:#e8f5ed;color:#207348;}
.v6-pill.payable{background:#fff0e2;color:#a75714;}
.v6-debt-detail{display:flex;flex-wrap:wrap;gap:5px 16px;font-size:11px;color:#718096;}
.v6-debt-amount{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:8px;}
.v6-debt-amount strong{font-size:16px;}
.v6-debt-amount small{font-size:10px;color:#718096;}
.v6-settle{margin-top:4px;border:1px solid #e5eaf1;border-radius:9px;padding:10px;}
.v6-settle summary{cursor:pointer;font-size:11px;font-weight:800;color:#4b55cd;}
.v6-settle form{margin:12px 0 0;}
.v6-cleared{color:#228259;font-size:11px;font-weight:800;}
.v6-earmark-list{display:grid;gap:0;}
.v6-earmark-list>div{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid #eef1f5;padding:10px 0;font-size:12px;}
.v6-earmark-list small{display:block;font-size:10px;color:#8590a1;margin-top:3px;}
.v6-overview{display:flex;align-items:center;gap:24px;flex-wrap:wrap;border:1px solid #dee7ff;background:#f6f8ff;padding:14px 18px;border-radius:13px;margin:0 0 16px;}
.v6-overview>div{display:grid;gap:3px;}
.v6-overview span{font-size:10px;color:#6d7892;font-weight:800;}
.v6-overview strong{font-size:17px;color:#273da0;}
.v6-overview small{font-size:10px;color:#8290a4;}
.v6-overview a{margin-left:auto;}
@media (max-width:1150px){.v6-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}
.v6-columns{grid-template-columns:1fr;}}
@media (max-width:700px){.v6-page{gap:12px;}
.v6-hero{padding:15px;align-items:stretch;flex-direction:column;}
.v6-hero h2{font-size:19px;}
.v6-metrics,.v6-triple,.v6-comparison{grid-template-columns:1fr 1fr;}
.v6-card{padding:13px;}
.v6-card-head{align-items:start;flex-wrap:wrap;}
.v6-tabs{gap:0;}
.v6-tabs a{padding:10px;font-size:11px;}
.v6-chart-point{min-width:35px;}
.v6-overview{gap:12px;}}
@media (max-width:440px){.v6-triple,.v6-metrics,.v6-comparison{grid-template-columns:1fr;}
.v6-hero h2{font-size:18px;}}
.v6-form [data-v6-goal][hidden]{display:none!important;}
/* ===== v7.css ===== */
.v7-page{display:grid;gap:14px;color:#1e293d;max-width:1650px;}
.v7-page *{box-sizing:border-box;}
.v7-page :focus-visible{outline:3px solid #9ca7fa;outline-offset:2px;}
.v7-hero{background:#fff;border:1px solid #e7eaf1;border-radius:16px;padding:20px 23px;}
.v7-hero h2{font-size:22px;letter-spacing:-.025em;margin:4px 0 6px;line-height:1.24;}
.v7-hero p{font-size:12px;color:#64748b;line-height:1.55;margin:0;max-width:820px;}
.v7-overline{font-size:10px;font-weight:850;letter-spacing:.1em;color:#5a66c4;}
.v7-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.v7-kpis>div{background:#fff;border:1px solid #e7eaf0;border-radius:13px;padding:13px 15px;display:grid;gap:6px;}
.v7-kpis span{font-size:11px;font-weight:700;color:#64748b;}
.v7-kpis strong{font-size:21px;line-height:1.1;letter-spacing:-.025em;}
.v7-tabs{display:flex;gap:4px;padding:4px;background:#eef1f7;border:1px solid #e2e7ef;border-radius:12px;width:fit-content;max-width:100%;overflow-x:auto;}
.v7-tabs a{padding:9px 14px;border-radius:9px;color:#5d687d;text-decoration:none;font-size:12px;font-weight:800;white-space:nowrap;}
.v7-tabs a.active{background:#fff;color:#3d4cc3;box-shadow:0 2px 6px #20305012;}
.v7-panel{background:#fff;border:1px solid #e4e9f0;border-radius:15px;padding:17px;min-width:0;}
.v7-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;}
.v7-panel-head h3{font-size:16px;margin:0 0 4px;}
.v7-panel-head p{font-size:11px;line-height:1.45;color:#7b8797;margin:0;}
.v7-people-layout{display:grid;grid-template-columns:minmax(240px,310px) minmax(0,1fr);align-items:start;gap:14px;}
.v7-directory{position:sticky;top:12px;}
.v7-contact-list{max-height:65vh;min-height:90px;overflow-y:auto;display:grid;align-content:start;gap:5px;margin-top:12px;}
.v7-search{position:relative;display:flex;align-items:center;gap:7px;background:#f7f9fd;border:1px solid #e0e6ef;border-radius:10px;padding:0 11px;color:#68768d;}
.v7-search input{width:100%;min-width:0;border:none!important;background:transparent!important;outline:none;padding:10px 0!important;font-size:12px!important;}
.v7-person-item{display:flex;align-items:center;gap:9px;padding:10px 9px;border-radius:11px;text-decoration:none!important;color:#2b3548;border:1px solid transparent;min-width:0;}
.v7-person-item:hover,.v7-person-item.active{background:#f2f5ff;border-color:#e1e7ff;color:#2d3e95;}
.v7-person-avatar{width:33px;height:33px;border-radius:9px;background:#e9ecfa;color:#4957a4;display:grid;place-items:center;font-size:15px;font-weight:850;flex:0 0 auto;}
.v7-person-copy{display:grid;min-width:0;gap:3px;flex:1;}
.v7-person-copy b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v7-person-copy small{font-size:10px;color:#8691a4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v7-score{border-radius:9px;min-width:34px;padding:6px 5px;text-align:center;font-size:12px;font-weight:850;color:#394f85;background:#eaf0fb;}
.v7-score.develop,.v7-score-circle.develop{background:#e2f6e9;color:#137548;}
.v7-score.maintain,.v7-score-circle.maintain{background:#e8efff;color:#2e51a6;}
.v7-score.review,.v7-score-circle.review{background:#fff0d7;color:#a35d11;}
.v7-score.distance,.v7-score-circle.distance,.v7-score.risk,.v7-score-circle.risk{background:#ffe7e9;color:#bd2944;}
.v7-archived{margin:14px 0 0;border-top:1px solid #e8ecf2;padding-top:11px;}
.v7-archived summary{cursor:pointer;font-size:11px;color:#6b7488;font-weight:700;}
.v7-archived-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid #f0f2f5;font-size:12px;}
.v7-detail-area{min-width:0;}
.v7-form{display:grid;gap:11px;}
.v7-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.v7-form label,.v7-rule-edit label{font-size:11px;font-weight:740;color:#3b485b;display:grid;gap:6px;min-width:0;}
.v7-form input,.v7-form select,.v7-form textarea,.v7-rule-edit input{display:block;width:100%;max-width:100%;min-width:0;padding:10px 11px;border:1px solid #dce3ee;border-radius:9px;background:#fff;color:#223047;font-size:12px;line-height:1.35;box-shadow:none;}
.v7-form textarea{resize:vertical;}
.v7-form .v7-full,.v7-full{grid-column:1/-1;}
.v7-form-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:3px;}
.v7-person-header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:13px;border-bottom:1px solid #edf0f5;}
.v7-person-header h2{font-size:23px;letter-spacing:-.02em;margin:3px 0 5px;}
.v7-person-header p{margin:0;color:#738094;font-size:11px;}
.v7-profile-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;}
.v7-score-panel{margin-top:16px;display:flex;align-items:center;gap:17px;border-radius:13px;background:#f7f9fc;border:1px solid #e8ebf1;padding:15px;}
.v7-score-circle{width:90px;height:90px;border-radius:50%;flex:0 0 90px;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.v7-score-circle strong{font-size:32px;font-weight:850;line-height:1;}
.v7-score-circle small{font-size:12px;}
.v7-score-explain{flex:1;min-width:0;}
.v7-score-explain>span{font-size:9px;letter-spacing:.09em;font-weight:850;color:#768199;}
.v7-score-explain h3{font-size:17px;margin:5px 0;}
.v7-score-explain p{font-size:11px;color:#7a8698;margin:0 0 11px;line-height:1.45;}
.v7-progress{height:7px;border-radius:20px;overflow:hidden;background:#e4eaf2;max-width:460px;}
.v7-progress i{height:100%;display:block;background:#5573e3;border-radius:20px;}
.v7-safety{margin-top:12px;padding:13px 16px;border-radius:12px;background:#fff0ee;border:1px solid #f4c9c4;color:#96372c;}
.v7-safety strong{font-size:12px;}
.v7-safety p{font-size:11px;line-height:1.5;margin:5px 0 0;}
.v7-inline-note{color:#69798b;font-size:12px;padding:10px 0;}
.v7-profile-tabs{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:15px 0 0;border-bottom:1px solid #e9edf4;}
.v7-profile-tabs a{font-size:11px;font-weight:800;color:#5265bb;padding:8px 0;text-decoration:none;}
.v7-subsection{scroll-margin-top:20px;border-bottom:1px solid #e9edf4;padding:20px 0;}
.v7-subsection:last-child{border:0;padding-bottom:2px;}
.v7-subhead{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:12px;}
.v7-subhead h3{margin:0;font-size:15px;}
.v7-subhead span{font-size:11px;color:#8490a3;}
.v7-form-details{border:1px solid #e0e7f0;background:#fafbfe;border-radius:11px;padding:11px 13px;margin-bottom:11px;}
.v7-form-details summary{font-weight:800;color:#4555ad;font-size:12px;cursor:pointer;}
.v7-form-details form{margin-top:15px;}
.v7-timeline-item{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;border-bottom:1px solid #edf1f5;padding:11px 0;}
.v7-timeline-item:last-child{border:0;}
.v7-timeline-item b{font-size:12px;line-height:1.3;}
.v7-timeline-item small{display:block;color:#8995a5;font-size:10px;margin:4px 0;}
.v7-timeline-item p{font-size:11px;margin:5px 0;color:#59677b;overflow-wrap:anywhere;}
.v7-event-right{display:grid;justify-items:end;gap:7px;flex:0 0 80px;}
.v7-event-right strong{font-size:18px;}
.v7-danger-text{color:#c53048!important;}
.v7-positive-text{color:#128054!important;}
.v7-text-button{background:transparent;border:0;padding:2px 0;cursor:pointer;font-size:10px;color:#6476b8;text-decoration:underline;}
.v7-muted{opacity:.5;}
.v7-empty{padding:16px;background:#f6f8fb;color:#7d8798;border-radius:10px;font-size:12px;}
.v7-promise{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #eff1f5;}
.v7-promise.is-done b{text-decoration:line-through;color:#84909c;}
.v7-promise b{font-size:12px;}
.v7-promise small{display:block;margin-top:4px;color:#8590a0;font-size:10px;}
.v7-rule-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(255px,1fr);gap:20px;align-items:start;}
.v7-rule-card{border-bottom:1px solid #eef0f5;padding:11px 0;display:flex;align-items:center;justify-content:space-between;gap:13px;}
.v7-rule-edit{display:grid;grid-template-columns:minmax(150px,1fr) 70px minmax(130px,.9fr) auto;align-items:end;gap:10px;flex:1;}
.v7-rule-edit label{font-size:10px;}
.v7-rule-edit .v7-check{display:flex;align-items:center;gap:6px;white-space:normal;font-size:10px;}
.v7-rule-edit .v7-check input{width:auto;flex:0 0 auto;}
.v7-rule-create{padding:16px;border-radius:13px;background:#f7f9fd;border:1px solid #ebedf3;position:sticky;top:12px;}
.v7-rule-create h4{margin:0 0 12px;font-size:14px;}
.v7-check{display:flex!important;align-items:center;gap:7px;}
.v7-check input{width:auto;}
.v7-advice{margin-top:18px;padding:12px 13px;background:#fff8eb;border:1px solid #f5e7c9;border-radius:9px;}
.v7-advice strong{font-size:12px;}
.v7-advice p{font-size:11px;line-height:1.5;color:#8a642f;}
.v7-life-layout{display:grid;grid-template-columns:minmax(270px,.9fr) minmax(0,1.5fr);gap:14px;align-items:start;}
.v7-life-list{max-height:850px;overflow:auto;}
.v7-life-item{padding:13px 0;border-bottom:1px solid #edf0f5;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.v7-life-item:last-child{border:0;}
.v7-life-body{min-width:0;}
.v7-life-body strong{font-size:13px;line-height:1.3;}
.v7-life-body small{display:block;font-size:11px;color:#79869a;margin-top:6px;}
.v7-life-body p{color:#728098;font-size:11px;line-height:1.45;margin:6px 0 0;}
.v7-life-item.is-done strong{text-decoration:line-through;color:#8592a2;}
.v7-life-controls{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;flex:0 0 auto;}
.v7-life-controls>a{font-size:11px;text-decoration:none;}
.v7-badge{font-size:10px;font-weight:850;border-radius:7px;padding:5px 7px;background:#f0f3fb;}
.v7-badge.risk{color:#b62c41;background:#fff0f1;}
.v7-badge.develop{color:#188054;background:#e9f8ef;}
.v7-badge.review{color:#a65b10;background:#fff0da;}
@media (max-width:1200px){.v7-people-layout{grid-template-columns:minmax(220px,270px) minmax(0,1fr);}
.v7-rule-grid{grid-template-columns:1fr;}
.v7-rule-create{position:static;}
.v7-life-layout{grid-template-columns:1fr;}}
@media (max-width:800px){.v7-people-layout{grid-template-columns:1fr;}
.v7-directory{position:static;}
.v7-contact-list{max-height:240px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;}
.v7-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}
.v7-hero{padding:16px;}
.v7-hero h2{font-size:19px;}
.v7-rule-edit{grid-template-columns:minmax(0,1fr) 65px;}
.v7-rule-edit .v7-check{grid-column:1/-1;}
.v7-rule-edit button{grid-column:1/-1;}}
@media (max-width:560px){.v7-panel{padding:12px;}
.v7-contact-list{grid-template-columns:1fr;}
.v7-form-grid{grid-template-columns:1fr;}
.v7-person-header{align-items:flex-start;flex-wrap:wrap;}
.v7-score-panel{padding:11px;gap:12px;}
.v7-score-circle{width:72px;height:72px;flex-basis:72px;}
.v7-score-circle strong{font-size:26px;}
.v7-score-explain h3{font-size:14px;}
.v7-life-item{flex-direction:column;}
.v7-life-controls{justify-content:flex-start;width:100%;}
.v7-kpis strong{font-size:19px;}
.v7-rule-card{align-items:flex-start;flex-direction:column;gap:2px;}
.v7-rule-edit{width:100%;}}
.v7-decision-panel{background:#f8faff;border:1px solid #e2e8fb;border-radius:12px;padding:12px 15px;margin:13px 0;}
.v7-decision-panel strong{font-size:13px;}
.v7-decision-panel p{color:#77849a;font-size:11px;line-height:1.45;margin:5px 0 11px;}
.v7-decision-form{display:grid;grid-template-columns:minmax(150px,.85fr) minmax(150px,1.35fr) auto;gap:9px;align-items:end;}
.v7-decision-form label{display:grid;gap:5px;color:#46536a;font-size:10px;font-weight:750;}
.v7-decision-form input,.v7-decision-form select{width:100%;min-width:0;background:#fff;border:1px solid #dce3ee;border-radius:9px;padding:10px 11px;color:#213048;font-size:12px;}
.v7-overview-strip{border:1px solid #dce6f8;background:#f5f8ff;border-radius:13px;padding:14px 17px;display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;margin:0 0 15px;}
.v7-overview-strip>div:first-child{display:grid;gap:5px;}
.v7-overview-strip strong{font-size:13px;color:#283d9b;}
.v7-overview-strip span{color:#687891;font-size:11px;}
.v7-overview-links{display:flex;gap:13px;flex-wrap:wrap;}
.v7-overview-links a{font-size:11px;font-weight:800;color:#4b59bb;text-decoration:none;}
@media (max-width:690px){.v7-decision-form{grid-template-columns:1fr;}}
.v7-person-item[hidden]{display:none!important;}
/* ===== v8.css ===== */
.v8-page{display:grid;gap:15px;color:#1e293b;min-width:0;}
.v8-page *{box-sizing:border-box;}
.v8-page button,.v8-page input{font-family:inherit;}
.v8-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;background:linear-gradient(118deg,#172550 0%,#293d88 76%,#5266bc 100%);border-radius:18px;padding:23px 27px;color:#fff;box-shadow:0 14px 36px rgba(26,39,81,.12);}
.v8-eyebrow,.v8-hero .v8-eyebrow{font-size:10px;letter-spacing:.095em;font-weight:850;color:#8091aa;}
.v8-hero .v8-eyebrow{color:#b9ccff;}
.v8-hero h2{color:#fff;font-size:23px;line-height:1.3;margin:6px 0 7px;font-weight:820;}
.v8-hero p{color:#d2dcf4;line-height:1.55;font-size:12px;margin:0;max-width:690px;}
.v8-hero-aside{display:grid;gap:3px;text-align:right;flex-shrink:0;}
.v8-hero-aside span,.v8-hero-aside small{font-size:10px;color:#c2d1f5;}
.v8-hero-aside strong{font-size:15px;color:#fff;}
.v8-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.v8-metrics>div{display:grid;gap:7px;padding:15px 17px;background:#fff;border:1px solid #e8ecf3;border-radius:13px;box-shadow:0 6px 16px rgba(27,44,79,.035);}
.v8-metrics span{color:#707e91;font-size:11px;font-weight:720;}
.v8-metrics strong{font-size:24px;line-height:1.1;letter-spacing:-.03em;font-variant-numeric:tabular-nums;}
.v8-metrics small{color:#8996a6;font-size:10px;}
.v8-alert-text{color:#c43c4a;}
.v8-amber-text{color:#bb720f;}
.v8-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:14px;}
.v8-panel{border:1px solid #e5eaf1;background:#fff;border-radius:15px;padding:18px 19px;min-width:0;}
.v8-panel-title>div>span{display:block;font-size:10px;color:#74819a;font-weight:850;letter-spacing:.055em;margin-bottom:6px;}
.v8-panel h3{margin:0;color:#1e2b42;font-size:16px;line-height:1.35;}
.v8-panel p{font-size:12px;line-height:1.55;color:#6e7c8f;}
.v8-focus-row{display:flex;align-items:center;gap:11px;border-bottom:1px solid #edf0f5;padding:12px 0;text-decoration:none;color:#22314c;min-width:0;}
.v8-focus-row:last-child{border:0;}
.v8-focus-row:hover b{color:#4259db;}
.v8-focus-row>span:nth-child(2){display:grid;gap:5px;min-width:0;flex:1;}
.v8-focus-row b{font-size:12.5px;line-height:1.3;}
.v8-focus-row small{font-size:10.5px;line-height:1.4;color:#7a889c;}
.v8-rank{height:27px;width:27px;display:grid;place-items:center;background:#eff2ff;border-radius:9px;font-size:12px;color:#5262bd;font-weight:850;flex-shrink:0;}
.v8-question p{margin:7px 0 14px;}
.v8-questions{display:grid;gap:7px;}
.v8-questions button{background:#f7f9fd;border:1px solid #e5eaf3;text-align:left;border-radius:9px;padding:10px 12px;font-size:11.5px;font-weight:750;color:#394a6e;cursor:pointer;}
.v8-questions button:hover,.v8-questions button.is-active{color:#354ca8;border-color:#aebcea;background:#eff3ff;}
.v8-policy{margin-top:13px;padding:10px 12px;border-radius:9px;background:#f8fafc;color:#77849a;font-size:10.5px;line-height:1.5;}
.v8-insights{scroll-margin-top:14px;}
.v8-insights-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.v8-insights-head h3{margin:5px 0;}
.v8-insights-head p{margin:3px 0 0;}
.v8-switch{display:flex;gap:6px;flex-wrap:wrap;}
.v8-switch a{color:#586782;text-decoration:none;font-size:11px;font-weight:750;padding:8px 10px;background:#f6f8fb;border-radius:9px;}
.v8-switch a.active{background:#eaf0ff;color:#304bc3;}
.v8-filterbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:19px 0 12px;flex-wrap:wrap;}
.v8-pill-group{display:flex;gap:6px;flex-wrap:wrap;}
.v8-pill-group button{border:0;border-radius:8px;color:#68778d;background:#f2f5f9;padding:9px 11px;font-size:11px;font-weight:770;cursor:pointer;}
.v8-pill-group button.is-active{background:#273d83;color:#fff;}
.v8-search{display:flex;align-items:center;gap:8px;background:#f8f9fc;border:1px solid #e4e9f1;border-radius:9px;padding:0 10px;max-width:250px;flex:1;min-width:180px;}
.v8-search span{color:#9ba8b8;}
.v8-search input{height:36px;min-width:0;width:100%;border:0;outline:0;font-size:11px;color:#263146;background:transparent;}
.v8-card-list{display:grid;gap:9px;}
.v8-card{border:1px solid #e5eaf2;border-left:4px solid #bdc8d9;border-radius:11px;background:#fff;padding:13px 15px;box-shadow:0 4px 11px rgba(20,33,67,.025);}
.v8-card[hidden]{display:none!important;}
.v8-card.severity-critical{border-left-color:#d94d58;}
.v8-card.severity-warning{border-left-color:#e6a23e;}
.v8-card.severity-info{border-left-color:#6188dc;}
.v8-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.v8-card-top small{font-size:10px;color:#8895a7;white-space:nowrap;}
.v8-card-tags{display:flex;align-items:center;gap:7px;}
.v8-level,.v8-source{display:inline-flex;align-items:center;padding:5px 8px;border-radius:6px;font-size:9.5px;font-weight:780;}
.v8-level.critical{background:#ffebee;color:#c43647;}
.v8-level.warning{background:#fff3df;color:#a5650d;}
.v8-level.info{background:#eaf1ff;color:#4769ba;}
.v8-source{background:#f3f5f9;color:#758296;}
.v8-card h3{font-size:13.5px;line-height:1.4;margin:9px 0 6px;font-weight:800;color:#1e2b43;}
.v8-card p{font-size:11.5px;line-height:1.55;margin:5px 0;color:#5f6e81;}
.v8-card p strong{color:#344156;}
.v8-card .v8-advice{background:#f7f9fd;border-radius:7px;padding:9px 10px;margin-top:9px;}
.v8-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:10px;flex-wrap:wrap;}
.v8-action-open{color:#4259c3;text-decoration:none;font-size:11px;font-weight:800;}
.v8-action-open:hover{text-decoration:underline;}
.v8-card-buttons{display:flex;gap:5px;flex-wrap:wrap;}
.v8-card-buttons form{margin:0;}
.v8-action-secondary{border:1px solid #e1e6ee;border-radius:8px;background:white;color:#617086;padding:7px 9px;font-size:10.5px;font-weight:740;cursor:pointer;}
.v8-action-secondary:hover{background:#f3f6fc;color:#32466e;}
.v8-snooze-info{color:#c18124!important;}
.v8-empty,.v8-no-results{padding:21px;background:#f8fafd;border-radius:10px;color:#748096;font-size:12px;}
.v8-count{font-size:10.5px!important;text-align:right;margin:9px 0 0!important;}
.v8-settings{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;background:#fafbfe;}
.v8-settings>div{max-width:650px;}
.v8-settings h3{font-size:14px;}
.v8-settings p{font-size:11px;margin:6px 0 0;}
.v8-settings form{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.v8-switch-label{font-size:11px;font-weight:750;display:flex;align-items:center;gap:6px;color:#344156;}
.v8-switch-label input{width:auto;}
.v8-overview{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#edf2ff;border:1px solid #dce6ff;border-radius:12px;padding:13px 17px;margin:0 0 15px;}
.v8-overview-copy{display:grid;gap:5px;min-width:0;}
.v8-overview span{font-size:9.5px;color:#5369bd;font-weight:850;letter-spacing:.06em;}
.v8-overview strong{font-size:13px;color:#243c94;}
.v8-overview small{color:#64789b;font-size:10.5px;overflow-wrap:anywhere;}
.v8-muted{color:#7b8799!important;font-size:12px;}
.v8-no-results[hidden]{display:none!important;}
@media (max-width:1190px){.v8-grid{grid-template-columns:1fr;}
.v8-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:640px){.v8-hero{padding:17px;flex-direction:column;}
.v8-hero h2{font-size:19px;}
.v8-hero-aside{text-align:left;}
.v8-metrics{gap:7px;}
.v8-metrics>div{padding:12px;}
.v8-metrics strong{font-size:21px;}
.v8-panel{padding:13px;}
.v8-card{padding:11px;}
.v8-filterbar{align-items:stretch;}
.v8-search{width:100%;max-width:none;flex-basis:100%;}
.v8-card-footer{align-items:flex-start;flex-direction:column;}
.v8-overview{align-items:flex-start;flex-direction:column;}}
.v8-ask-form{margin-top:14px;border-top:1px solid #e8edf3;padding-top:12px;}
.v8-ask-form label{display:block;font-size:11px;font-weight:800;color:#4b5871;margin-bottom:8px;}
.v8-ask-form>div{display:flex;gap:7px;}
.v8-ask-form input{min-width:0;flex:1;border:1px solid #dfe5ef;background:#fff;border-radius:9px;padding:10px 12px;font-size:12px;}
.v8-ask-form button{background:#283e8a;color:#fff;border:0;border-radius:9px;font-weight:800;font-size:11px;padding:9px 13px;cursor:pointer;}
.v8-ask-form .v8-ask-answer{background:#eef4ff;color:#2b458a;padding:10px 12px;border-radius:9px;font-size:11.5px;line-height:1.55;}
.v8-ask-form .v8-ask-answer[hidden]{display:none!important;}
/* ===== v9.css ===== */
.v9-page{max-width:1530px;margin:0 auto;color:#1b283d;}
.v9-page-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;}
.v9-page-header h2{margin:3px 0 8px;font-size:24px;letter-spacing:-.035em;color:#17253b;}
.v9-page-header p{font-size:13px;color:#67758b;line-height:1.65;max-width:760px;margin:0;}
.v9-eyebrow{font-size:10px;letter-spacing:.13em;font-weight:900;color:#5c6ae6;}
.v9-stat-line{display:flex;align-items:center;gap:20px;color:#69778e;font-size:12px;padding:11px 0;}
.v9-stat-line b{color:#1e2c46;font-size:17px;}
.v9-notes-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#f3f5f8;border:1px solid #e7ebf1;border-radius:15px;padding:10px;margin-bottom:13px;}
.v9-tabs{display:flex;align-items:center;gap:3px;flex-wrap:wrap;}
.v9-tabs a{display:inline-flex;padding:8px 11px;border-radius:9px;color:#5f6e83;text-decoration:none;font-size:12px;font-weight:750;}
.v9-tabs a.is-current{background:#fff;box-shadow:0 2px 8px #182c4d0d;color:#3647d7;}
.v9-search{display:flex;align-items:center;gap:5px;background:#fff;border:1px solid #dee5ee;border-radius:10px;flex:1;min-width:190px;padding:0 10px;color:#79859a;}
.v9-search input{width:100%;height:34px;border:0;outline:none;font:inherit;font-size:12px;background:transparent;color:#233249;}
.v9-notes-tools select{height:35px;max-width:200px;border-radius:10px;border:1px solid #dee5ee;background:#fff;padding:0 8px;font:inherit;font-size:12px;}
.v9-notes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(242px,1fr));gap:12px;align-items:start;}
.v9-note-card{display:flex;flex-direction:column;min-height:145px;max-height:none;background:linear-gradient(160deg,rgba(255,255,255,.95),rgba(255,255,255,.84));border:1px solid rgba(30,34,40,.085);border-radius:17px;box-shadow:0 6px 24px rgba(16,23,36,.055);padding:16px;transition:border-color .16s,box-shadow .16s;}
.v9-note-card:hover{border-color:rgba(19,35,58,.22);box-shadow:0 14px 35px rgba(16,23,36,.085);}
.v9-note-card[hidden]{display:none!important;}
.v9-note-top{display:flex;gap:7px;align-items:center;justify-content:space-between;margin-bottom:10px;}
.v9-category{font-size:10px;font-weight:850;border-radius:7px;padding:5px 9px;background:#f1f3f6;color:#56657b;}
.v9-category.v9-blue{background:#eaf0ff;color:#3850a3;}
.v9-category.v9-purple{background:#f3edff;color:#7851ac;}
.v9-category.v9-green{background:#e8f7ef;color:#24825e;}
.v9-category.v9-amber{background:#fff4df;color:#a46c25;}
.v9-category.v9-pink{background:#fceef2;color:#aa4a73;}
.v9-category.v9-teal{background:#e5f7f5;color:#247b74;}
.v9-pin-label{font-size:10px;color:#b37728;font-weight:800;}
.v9-note-open{display:grid;gap:9px;text-align:left;background:transparent;border:0;padding:0;cursor:pointer;font:inherit;color:inherit;flex:1;min-width:0;}
.v9-note-open strong{font-size:15px;line-height:1.4;font-weight:770;color:#15191e;overflow-wrap:anywhere;}
.v9-note-open>span{font-size:13px;color:#535c68;line-height:1.55;white-space:pre-wrap;overflow:hidden;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow-wrap:anywhere;}
.v9-note-open small{font-size:11px;color:#22805e;}
.v9-note-tags{display:flex;flex-wrap:wrap;gap:4px;margin:10px 0 0;}
.v9-note-tags span{font-size:10px;color:#687790;background:#f4f6f9;border-radius:5px;padding:4px 6px;}
.v9-note-footer{margin-top:12px;padding-top:9px;border-top:1px solid #edf0f4;display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:#7d8a9a;}
.v9-note-footer small{font-size:10px;}
.v9-note-footer button{margin-left:auto;border:0;background:#f0f3f9;color:#475bf1;border-radius:7px;width:23px;height:23px;cursor:pointer;}
.v9-no-match{color:#7b8798;text-align:center;padding:35px 10px;}
.v9-inbox-summary{display:flex;gap:8px;align-items:center;background:#edf1ff;border:1px solid #e1e6ff;border-radius:12px;padding:10px 14px;margin-bottom:14px;color:#495989;font-size:12px;}
.v9-inbox-summary b{color:#3c52cc;font-size:22px;}
.v9-inbox-tabs{margin-bottom:10px;}
.v9-inbox-tabs a.is-current{background:#eef1ff;}
.v9-inbox-list{display:grid;gap:9px;}
.v9-inbox-item{background:#fff;border:1px solid #e2e7ef;border-radius:14px;padding:14px;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;}
.v9-inbox-item-main{min-width:0;flex:1;}
.v9-inbox-meta{font-size:10px;font-weight:850;letter-spacing:.06em;color:#7f8ba0;}
.v9-inbox-item p{margin:7px 0 0;line-height:1.6;font-size:13px;color:#28364d;overflow-wrap:anywhere;}
.v9-inbox-actions{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end;max-width:480px;}
.v9-inbox-actions form{margin:0;}
.v9-inbox-actions a.btn{text-decoration:none;}
.v9-inbox-empty{color:#738199;background:#f8f9fb;border:1px dashed #d5deea;border-radius:14px;padding:25px;text-align:center;}
.v9-processed{font-size:12px;color:#35795c;}
.v9-processed a{margin-left:5px;}
.v9-danger{color:#ba3545!important;}
.v9-modal[hidden]{display:none!important;}
.v9-modal{position:fixed;inset:0;z-index:200001;display:grid;place-items:center;padding:14px;}
.v9-modal-shade{position:absolute;inset:0;background:rgba(13,25,42,.65);backdrop-filter:blur(3px);}
.v9-editor-panel,.v9-capture-panel{position:relative;width:min(770px,calc(100vw - 28px));max-height:min(93vh,950px);display:flex;flex-direction:column;background:#fff;border-radius:18px;box-shadow:0 28px 80px #06162955;overflow:hidden;}
.v9-capture-panel{width:min(540px,calc(100vw - 28px));padding:18px;}
.v9-capture-panel p{font-size:12px;color:#66748b;}
.v9-capture-panel textarea{border:1px solid #dce3ee;border-radius:11px;padding:12px;font:inherit;resize:vertical;font-size:13px;min-height:130px;}
.v9-modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px 12px;border-bottom:1px solid #eef1f6;}
.v9-capture-panel .v9-modal-head{padding:0 0 13px;}
.v9-modal-head h2{font-size:20px;letter-spacing:-.025em;margin:4px 0 0;}
.v9-close{border:0;background:#f3f5f8;border-radius:10px;width:34px;height:34px;font-size:21px;color:#4a5970;cursor:pointer;}
.v9-editor-body{overflow-y:auto;padding:17px 20px;display:grid;gap:14px;min-height:0;}
.v9-editor-body label{display:grid;gap:5px;min-width:0;}
.v9-editor-body label>span{color:#647187;font-size:11px;font-weight:800;}
.v9-editor-body input,.v9-editor-body select,.v9-editor-body textarea{width:100%;max-width:100%;border:1px solid #dce3ee;border-radius:10px;padding:10px 11px;background:#fff;color:#25354a;font:inherit;font-size:13px;outline:none;}
.v9-editor-body input:focus,.v9-editor-body textarea:focus{border-color:#aeb9fa;box-shadow:0 0 0 3px #e9edff;}
.v9-editor-body .v9-main-title input{font-weight:760;font-size:18px;letter-spacing:-.015em;}
.v9-body-field textarea{line-height:1.6;resize:vertical;}
.v9-note-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.v9-check-panel{border:1px solid #e7eaf1;background:#fafbfd;border-radius:12px;padding:11px;display:grid;gap:8px;}
.v9-check-head{display:flex;justify-content:space-between;align-items:center;gap:10px;}
.v9-check-head strong{font-size:12px;color:#33425a;}
.v9-check-list{display:grid;gap:5px;}
.v9-check-row{display:grid;grid-template-columns:23px 1fr 27px;align-items:center;gap:7px;}
.v9-check-row input[type=checkbox]{height:17px;width:17px;accent-color:#4d63df;}
.v9-check-row input[type=text]{padding:8px;}
.v9-check-row button{border:0;background:transparent;color:#b84f5e;font-size:20px;cursor:pointer;}
.v9-editor-footer{padding:13px 18px;border-top:1px solid #eef0f5;display:flex;justify-content:space-between;align-items:center;gap:10px;}
.v9-save-status{font-size:11px;color:#178257;min-width:90px;}
.v9-save-status.is-error{color:#b7384a;}
.v9-editor-actions{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end;}
.v9-editor-actions a{text-decoration:none;}
.v9-history-pane{overflow:auto;max-height:210px;padding:12px 20px;border-top:1px solid #e6ecf2;background:#f7f9fc;}
.v9-history-pane[hidden]{display:none;}
.v9-history-pane h3{font-size:14px;margin:0 0 8px;}
.v9-version-row{padding:7px 0;border-bottom:1px solid #e2e7ef;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;}
.v9-modal-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;}
.v9-modal-actions span{font-size:12px;color:#62718a;}
.v9-no-scroll{overflow:hidden;}
.v9-overview-bar{padding:14px 17px;margin-bottom:15px;border:1px solid #e0e6ff;background:#f5f7ff;border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.v9-overview-bar>div:first-child{display:grid;gap:4px;}
.v9-overview-bar span{font-size:10px;font-weight:900;color:#5965d4;letter-spacing:.1em;}
.v9-overview-bar strong{font-size:15px;color:#263452;}
.v9-overview-bar small{font-size:11px;color:#7a8597;}
.v9-overview-bar>div:last-child{display:flex;gap:6px;flex-wrap:wrap;}
.v9-overview-bar a{text-decoration:none;}
@media (max-width:900px){.v9-inbox-item{display:block;}
.v9-inbox-actions{margin-top:12px;justify-content:flex-start;max-width:none;}}
@media (max-width:650px){.v9-page-header{align-items:flex-start;flex-direction:column;}
.v9-page-header h2{font-size:21px;}
.v9-notes-tools{display:grid;grid-template-columns:1fr;}
.v9-note-form-grid{grid-template-columns:1fr;}
.v9-modal{padding:4px;}
.v9-editor-panel,.v9-capture-panel{width:calc(100vw - 8px);max-height:calc(100dvh - 8px);border-radius:12px;}
.v9-editor-body{padding:12px;}
.v9-editor-footer{padding:10px;display:grid;gap:8px;}
.v9-editor-actions{justify-content:flex-start;max-height:100px;overflow:auto;}
.v9-modal-head{padding:12px;}
.v9-overview-bar{display:grid;}
.v9-notes-grid{grid-template-columns:1fr;}
.v9-capture-panel{padding:14px;}}
.v9-pagination{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap;padding:13px 0;}
.v9-pagination span{font-size:12px;color:#718098;}
.v9-pagination a{text-decoration:none;}
/* ===== v10.css ===== */
.v10-fees-grid,.v10-settings-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:17px;align-items:start;}
.v10-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:20px;}
.v10-settings-grid>.panel:last-child{grid-column:1/-1;}
.v10-settings-grid .panel{min-width:0;}
.v10-fee-entry{border:1px solid #e4e8f1;background:#fff;border-radius:13px;padding:13px 15px;margin:11px 0;}
.v10-fee-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px;}
.v10-fee-header strong{font-size:14px;color:#18233a;}
.v10-fee-header small{display:block;color:#667085;font-size:12px;margin-top:5px;}
.v10-fee-header>span{font-size:12px;font-weight:750;}
.v10-fee-progress{margin:11px 0 5px;height:5px;background:#edf0f5;border-radius:999px;overflow:hidden;}
.v10-fee-progress>span{display:block;height:100%;background:#24a16a;border-radius:inherit;}
.v10-fee-entry>small{color:#59657a;font-size:12px;}
.v10-pay-form{display:grid;grid-template-columns:minmax(120px,.75fr) minmax(180px,1.25fr) auto;align-items:end;gap:10px;margin-top:11px;}
.v10-pay-form label{font-size:12px;font-weight:650;min-width:0;}
.v10-pay-form input,.v10-pay-form select{width:100%;margin-top:4px;min-width:0;height:41px;}
.v10-pay-form button{white-space:nowrap;min-height:41px;}
.v10-info{margin-top:18px;background:#eef4ff;border:1px solid #dce7ff;padding:12px;border-radius:11px;color:#2d4367;font-size:12px;}
.v10-info p{font-size:12px;margin:5px 0 0;}
.v10-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 8px;}
.v10-small{color:#6a7488;font-size:12px!important;line-height:1.55;}
.v10-good{color:#087b52;font-weight:700;}
.v10-error,.v10-danger-text{color:#bd2738!important;}
.v10-recovery{padding:13px 15px;border:1px solid #c8dcff;background:#f1f6ff;border-radius:12px;margin:12px 0;}
.v10-recovery code{font-size:13px;overflow-wrap:anywhere;line-height:1.9;display:block;}
.v10-settings-grid .stack{margin-top:11px;}
@media (max-width:1150px){.v10-pay-form{grid-template-columns:1fr 1fr;}
.v10-pay-form button{grid-column:1/-1;}}
@media (max-width:780px){.v10-fees-grid,.v10-settings-grid{grid-template-columns:minmax(0,1fr);}
.v10-settings-grid>.panel:last-child{grid-column:auto;}}
@media (max-width:520px){.v10-pay-form{grid-template-columns:1fr;}
.v10-pay-form button{grid-column:auto;}}
.v10-device-form{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #edf0f4;font-size:12px;color:#516078;}
/* ===== v11.css ===== */
.v11-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 17px;}
.v11-heading h2{margin:0;font-size:22px;line-height:1.3;color:#172236;letter-spacing:-.35px;}
.v11-heading p{margin:5px 0 0;font-size:13px;color:#64748b;line-height:1.6;}
.v11-chip{font-size:10px;font-weight:800;letter-spacing:.12em;padding:9px 11px;border:1px solid #e1e7f1;background:#f6f8fc;border-radius:11px;color:#66748b;white-space:nowrap;}
.v11-panel{margin-bottom:16px!important;padding:21px!important;border:1px solid #e5e9f1!important;border-radius:16px!important;background:#fff!important;}
.v11-find-form,.v11-report-filters,.v11-history-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;}
.v11-find-form label,.v11-report-filters label,.v11-history-controls label{font-size:12px;color:#536177;font-weight:650;display:flex;gap:6px;flex-direction:column;min-width:170px;flex:0 1 215px;}
.v11-find-form label.v11-search-field{flex:1 1 340px;}
.v11-find-form input,.v11-find-form select,.v11-history-controls select,.v11-report-filters select,.v11-report-filters input{height:42px;border:1px solid #dbe2eb;border-radius:10px;font-size:13px;padding:0 11px;color:#172236;max-width:100%;background:#fff;}
.v11-find-form .btn,.v11-report-filters .btn,.v11-history-controls .btn{height:42px;}
.v11-hint{font-size:12px;color:#6d798e;line-height:1.7;margin:16px 0 8px;}
.v11-result-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:20px 0 10px;color:#607089;font-size:12px;}
.v11-result-head b{color:#18273e;}
.v11-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
.v11-search-result{display:flex;align-items:center;gap:10px;text-decoration:none!important;border:1px solid #e6eaf1;padding:12px 13px;border-radius:11px;min-width:0;background:#fff;transition:background .15s,border-color .15s;}
.v11-search-result:hover{background:#f8faff;border-color:#b9c8f0;}
.v11-search-result strong{color:#1c2d47;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1;}
.v11-search-result small{font-size:11px;color:#7086ad;white-space:nowrap;}
.v11-type{color:#475bd5;background:#eef1ff;border-radius:6px;padding:5px 7px;font-weight:750;font-size:10px;white-space:nowrap;}
.v11-empty{background:#f8fafc;border:1px dashed #dae2eb;border-radius:11px;padding:22px;color:#6a798e;font-size:13px;}
.v11-history-controls{margin:3px 0 13px;}
.v11-history-controls label{flex:1 1 320px;max-width:420px;}
.v11-event-list{border:1px solid #e9edf3;border-radius:12px;overflow:hidden;}
.v11-event{display:flex;align-items:flex-start;gap:13px;padding:13px 14px;background:#fff;border-bottom:1px solid #edf0f4;}
.v11-event:last-child{border-bottom:0;}
.v11-event-dot{width:9px;height:9px;flex:0 0 9px;margin-top:5px;background:#5360ed;border-radius:50%;box-shadow:0 0 0 4px #edf0ff;}
.v11-event strong{font-size:12.5px;color:#233047;}
.v11-event p{font-size:11px;color:#768399;margin:4px 0 0;}
.v11-event details{margin-top:7px;font-size:11px;color:#7c8998;cursor:pointer;}
.v11-detail{border-left:2px solid #e2e7f3;margin-top:6px;padding:6px 9px;color:#45546a;overflow-wrap:anywhere;white-space:pre-line;cursor:default;}
.v11-pages{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:15px 0 0;font-size:11px;color:#64748b;}
.v11-period-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:22px 0 14px;}
.v11-period-head>div{display:flex;flex-direction:column;gap:3px;border:1px solid #e5ebf4;background:#f7f9fc;border-radius:10px;padding:10px 12px;}
.v11-period-head small{font-size:10px;color:#79879b;}
.v11-period-head b{font-size:13px;color:#24344d;}
.v11-period-head>span{color:#8390a3;font-size:11px;}
.v11-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;}
.v11-kpi{border:1px solid #e7ebf1;background:#fff;border-radius:12px;padding:15px;min-width:0;}
.v11-kpi>span{display:block;font-size:12px;color:#718096;font-weight:600;}
.v11-kpi strong{display:block;font-size:19px;line-height:1.4;color:#18253b;margin:8px 0 2px;overflow-wrap:anywhere;}
.v11-kpi small{font-size:11px;color:#78849a;}
.v11-delta{font-size:11px;color:#50647e;margin:8px 0;}
.v11-bars{display:grid;gap:5px;}
.v11-bars>div{height:6px;background:#eff2f6;border-radius:99px;overflow:hidden;}
.v11-bars>div i{display:block;height:100%;background:#5363df;border-radius:inherit;max-width:100%;}
.v11-bars>div+div i{background:#acb7cb;}
.v11-alert{padding:11px;border-radius:8px;background:#fff4e5;color:#976016;font-size:12px;}
.v11-section-head h3{margin:0;color:#1e2b41;font-size:17px;}
.v11-section-head p{font-size:12px;line-height:1.6;color:#738098;margin:5px 0 12px;}
.v11-progress-history{max-height:400px;overflow:auto;border:1px solid #edf0f4;border-radius:11px;padding:8px;}
.v11-history-point{padding:11px 9px;border-bottom:1px solid #eff1f5;}
.v11-history-point:last-child{border-bottom:0;}
.v11-history-meta{display:flex;align-items:center;gap:12px;margin-bottom:5px;}
.v11-history-meta b{font-size:13px;min-width:44px;color:#283ac8;}
.v11-history-meta small{font-size:11px;color:#6c7a90;}
.v11-progress-track{height:6px;background:#e9edf4;border-radius:10px;overflow:hidden;}
.v11-progress-track i{display:block;height:100%;background:linear-gradient(90deg,#5265f0,#37b5aa);border-radius:10px;}
.v11-topsearch{display:flex;align-items:center;gap:4px;min-width:160px;max-width:300px;flex:1;}
.v11-topsearch input{width:100%;max-width:235px;min-width:110px;border:1px solid #e1e6ef;background:#fff;border-radius:9px;font-size:12px;padding:8px 9px;height:35px;}
.v11-topsearch button{border:0;background:#eef1ff;color:#4756d3;height:35px;padding:0 10px;border-radius:8px;font-size:13px;cursor:pointer;font-weight:800;}
@media (max-width:1180px){.v11-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}
.v11-topsearch{max-width:200px;}}
@media (max-width:760px){.v11-heading h2{font-size:19px;}
.v11-chip{display:none;}
.v11-panel{padding:13px!important;}
.v11-kpis,.v11-results{grid-template-columns:1fr;}
.v11-topsearch{flex:1;max-width:100%;}
.v11-find-form label,.v11-report-filters label{flex:1 1 100%;}
.v11-find-form .btn,.v11-report-filters .btn{width:100%;}
.v11-result-head{align-items:flex-start;flex-direction:column;}
.v11-period-head{gap:7px;}
.v11-search-result{padding:10px;}
.v11-search-result small{display:none;}}
/* ===== v12.css ===== */
.tl12-page{--l-ink:#243247;--l-muted:#748096;--l-line:#e4e8ed;--l-indigo:#32447a;--l-paper:#fff;--l-stone:#f5f5f3;color:var(--l-ink);width:100%;max-width:1600px;margin:0 auto;min-width:0;}
.tl12-page *{box-sizing:border-box;}
.tl12-page a{text-decoration:none;}
.tl12-page button,.tl12-page input,.tl12-page select,.tl12-page textarea{font:inherit;}
.tl12-page button{cursor:pointer;}
.tl12-top{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:0 0 20px;}
.tl12-top>div:first-child{min-width:0;}
.tl12-eyebrow{font-size:10px;color:#71809a;letter-spacing:.17em;font-weight:850;margin-bottom:7px;}
.tl12-top h2{font-size:28px;line-height:1.18;letter-spacing:-.045em;margin:0;color:#1c2942;font-weight:800;}
.tl12-top p{font-size:13px;color:#758196;line-height:1.65;margin:8px 0 0;max-width:650px;}
.tl12-top-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.tl12-primary-btn,.tl12-soft-btn{border:1px solid #dbe1ea;border-radius:11px;padding:10px 15px;font-size:12px;font-weight:760;line-height:1.4;min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;cursor:pointer;}
.tl12-primary-btn{background:#2f426d;color:#fff!important;border-color:#2f426d;box-shadow:0 6px 14px rgba(47,66,109,.13);}
.tl12-primary-btn:hover{background:#23355b;border-color:#23355b;}
.tl12-soft-btn{background:#fff;color:#3c4b64!important;}
.tl12-soft-btn:hover{border-color:#b2bfd3;background:#f8faff;}
.tl12-notice{padding:12px 15px;background:#edfaf3;color:#176745;border:1px solid #bde9d1;border-radius:11px;margin-bottom:15px;font-size:12px;font-weight:700;}
.tl12-summary{display:grid;grid-template-columns:repeat(3,minmax(120px,185px)) minmax(160px,1fr);gap:0;background:#fff;border:1px solid #e5e9ed;border-radius:16px;box-shadow:0 6px 18px rgba(34,43,61,.025);margin-bottom:17px;overflow:hidden;}
.tl12-summary>div{padding:16px 20px;display:grid;gap:6px;border-right:1px solid #edf0f4;}
.tl12-summary span{font-size:11px;color:#8490a3;}
.tl12-summary strong{font-size:24px;color:#273c5d;line-height:1;letter-spacing:-.035em;}
.tl12-summary p{margin:0;display:flex;align-items:center;padding:12px 24px;color:#758096;font:italic 14px/1.6 Georgia,"Times New Roman",serif;background:#fafaf9;}
.tl12-workspace{display:grid;grid-template-columns:216px minmax(0,1fr);gap:16px;align-items:start;}
.tl12-cats{border:1px solid #e5e8ec;border-radius:15px;background:#fff;padding:16px 10px;position:sticky;top:96px;}
.tl12-cats-title{padding:0 11px 12px;display:flex;justify-content:space-between;color:#7a879a;font-size:10px;font-weight:900;letter-spacing:.09em;}
.tl12-cats-title a{font-size:20px;color:#586987;line-height:1;}
.tl12-cats>a{display:flex;align-items:center;gap:9px;padding:10px 11px;border-radius:10px;color:#54627b;font-size:12px;font-weight:650;min-width:0;}
.tl12-cats>a:hover{background:#f5f7fa;}
.tl12-cats>a.active{background:#ecf0f8;color:#2e4269;font-weight:800;}
.tl12-cats>a b{margin-left:auto;font-size:11px;color:#96a0af;}
.tl12-bullet{width:9px;height:9px;display:inline-block;flex:0 0 9px;border-radius:50%;background:#8795b1;}
.tl12-bullet.indigo{background:#6373b5;}
.tl12-bullet.emerald{background:#4b9b79;}
.tl12-bullet.amber{background:#c39443;}
.tl12-bullet.rose{background:#c57e8a;}
.tl12-bullet.slate{background:#8293a4;}
.tl12-bullet.violet{background:#9578b7;}
.tl12-cats-tip{margin:17px 6px 3px;padding:14px 12px;border-radius:12px;background:#f7f7f3;color:#8c8e93;font:italic 12px/1.7 Georgia,serif;}
.tl12-collection{min-width:0;}
.tl12-filters{border:1px solid #e4e8ed;background:#fff;border-radius:14px;padding:12px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px;}
.tl12-tabs{display:flex;align-items:center;gap:4px;overflow-x:auto;white-space:nowrap;max-width:100%;scrollbar-width:thin;}
.tl12-tabs a{color:#69768c;font-size:11px;font-weight:750;padding:8px 10px;border-radius:8px;}
.tl12-tabs a:hover{background:#f4f6f9;}
.tl12-tabs a.selected{color:#304674;background:#eef2fa;}
.tl12-search{display:flex;align-items:center;flex:1;gap:8px;min-width:280px;}
.tl12-search span{position:absolute;margin-left:11px;color:#8c9aab;font-size:16px;}
.tl12-search input,.tl12-search select{border:1px solid #e0e6ee;border-radius:9px;background:#fff;min-height:35px;min-width:0;font-size:11px;color:#3c4c66;}
.tl12-search input{padding:0 10px 0 30px;flex:1;min-width:140px;}
.tl12-search select{padding:0 8px;max-width:144px;}
.tl12-search button{border:0;border-radius:9px;padding:9px 12px;background:#2f426d;color:#fff;font-size:11px;font-weight:750;}
.tl12-result-title{display:flex;justify-content:space-between;align-items:center;margin:0 2px 11px;gap:12px;}
.tl12-result-title strong{font-size:15px;letter-spacing:-.02em;}
.tl12-result-title span{font-size:11px;color:#8a96a8;}
.tl12-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.tl12-card{background:#fff;border:1px solid #e4e8ec;border-radius:15px;min-height:222px;padding:18px 17px 13px;display:flex;flex-direction:column;min-width:0;box-shadow:0 4px 17px rgba(27,43,65,.035);transition:box-shadow .16s,border-color .16s,transform .16s;}
.tl12-card:hover{box-shadow:0 10px 25px rgba(30,42,59,.08);border-color:#cdd7e6;transform:translateY(-1px);}
.tl12-card-pinned{border-top:3px solid #b68d50;padding-top:16px;}
.tl12-card-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:12px;}
.tl12-tag{border-radius:7px;padding:5px 8px;background:#eaf0fa;color:#475d92;font-size:10px;font-weight:800;display:inline-flex;}
.tl12-tag.emerald{background:#eaf6ef;color:#2c7954;}
.tl12-tag.amber{background:#fbf1df;color:#916b2c;}
.tl12-tag.rose{background:#faedef;color:#9b6270;}
.tl12-tag.violet{background:#f3eef9;color:#7c639a;}
.tl12-tag.slate{background:#eff2f5;color:#607083;}
.tl12-card-meta small{color:#97a1ae;font-size:10px;}
.tl12-card h3{font-size:16px;line-height:1.43;letter-spacing:-.026em;margin:0 0 9px;font-weight:800;}
.tl12-card h3 a{color:#28374e;display:block;}
.tl12-card h3 a:hover{color:#405a8f;}
.tl12-card>p{font-size:12px;line-height:1.7;color:#778397;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0 0 13px;overflow-wrap:anywhere;}
.tl12-card-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:auto;}
.tl12-card-tags span{font-size:10px;background:#f5f6f8;color:#8390a1;border-radius:6px;padding:3px 6px;}
.tl12-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:12px;margin-top:10px;border-top:1px solid #eff1f5;font-size:10px;color:#98a2b1;}
.tl12-card-footer a{font-size:11px;color:#445c8b;font-weight:800;}
.tl12-card-footer a span{font-size:13px;}
.tl12-empty{text-align:center;border:1px dashed #ccd7e3;border-radius:18px;background:#fff;padding:55px 20px;color:#788398;}
.tl12-empty .tl12-empty-icon{font-size:35px;color:#94a6c0;}
.tl12-empty h3{font-size:18px;color:#25364e;margin:10px 0;}
.tl12-empty p{font-size:12px;margin:0 auto 18px;max-width:440px;line-height:1.7;}
.tl12-pages{display:flex;align-items:center;justify-content:center;gap:15px;margin-top:18px;font-size:12px;color:#8590a2;}
.tl12-pages a{color:#395383;font-weight:750;}
.tl12-editor-form{display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:17px;}
.tl12-editor-main{min-width:0;display:grid;gap:15px;}
.tl12-editor-paper,.tl12-side-panel{background:#fff;border:1px solid #e5e9ee;border-radius:16px;box-shadow:0 5px 19px rgba(25,42,66,.035);padding:24px;min-width:0;}
.tl12-editor-paper{padding:27px 32px;}
.tl12-editor-small{letter-spacing:.14em;font-size:10px;color:#a7a0a0;font-weight:850;}
.tl12-title-input{border:0!important;box-shadow:none!important;padding:18px 0 8px!important;outline:none!important;width:100%;font-weight:800!important;color:#25344c!important;font-size:23px!important;letter-spacing:-.03em;line-height:1.3;min-width:0;}
.tl12-title-input::placeholder{color:#b7bec9;font-weight:500;}
.tl12-paper-divider{height:1px;background:#edf0f3;margin:8px 0 21px;}
.tl12-field-label{display:block;font-size:12px;font-weight:800;margin:0 0 10px;}
.tl12-editor-paper .wp-editor-wrap{width:100%;min-width:0;}
.tl12-editor-paper .wp-editor-container{border:1px solid #dce4ed;border-radius:10px;overflow:hidden;}
.tl12-editor-paper .mce-top-part:before{box-shadow:none;}
.tl12-help{font-size:11px;color:#9aa4b2;margin:11px 0 0;line-height:1.6;}
.tl12-insight-form{background:#fdfdfc;}
.tl12-insight-heading{font-weight:800;color:#314468;font-size:15px;margin-bottom:19px;}
.tl12-field{display:grid;gap:7px;margin:0 0 16px;min-width:0;}
.tl12-field:last-child{margin-bottom:0;}
.tl12-field label,.tl12-category-create label{font-size:11px;color:#536179;font-weight:750;}
.tl12-field input,.tl12-field select,.tl12-field textarea,.tl12-category-create input,.tl12-category-create select,.tl12-category-inline input,.tl12-category-inline select{min-width:0;max-width:100%;width:100%;border:1px solid #dfe6ed;border-radius:9px;padding:10px 11px;background:#fff;color:#273950;font-size:12px;line-height:1.4;outline:0;}
.tl12-field textarea{resize:vertical;min-height:88px;}
.tl12-field input:focus,.tl12-field textarea:focus,.tl12-field select:focus,.tl12-category-create input:focus{border-color:#91a8c8;box-shadow:0 0 0 3px rgba(49,77,118,.08);}
.tl12-field small,.tl12-editor-submit small{font-size:10px;line-height:1.5;color:#93a0af;}
.tl12-field small a{color:#48638e;}
.tl12-editor-side{display:grid;gap:14px;position:sticky;top:95px;}
.tl12-side-panel{padding:19px;}
.tl12-side-panel h3{font-size:14px;line-height:1.3;margin:0 0 18px;color:#2c3d58;}
.tl12-side-panel p{font-size:11px;color:#8290a0;line-height:1.7;}
.tl12-editor-submit{display:grid;gap:10px;}
.tl12-editor-submit .tl12-primary-btn,.tl12-editor-submit .tl12-soft-btn{width:100%;}
.tl12-editor-submit h3{margin-bottom:0;}
.tl12-read-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px;}
.tl12-read-top>a{font-size:12px;font-weight:750;color:#526684;}
.tl12-read-layout{display:grid;grid-template-columns:minmax(0,1fr) 258px;gap:17px;align-items:start;}
.tl12-reader{background:#fff;border:1px solid #e5e9ef;border-radius:18px;padding:48px min(6vw,64px) 38px;min-width:0;box-shadow:0 12px 32px rgba(35,43,54,.035);}
.tl12-reader-ornament{text-align:center;font:700 10px/1.5 Georgia,serif;letter-spacing:.15em;color:#ac9b85;margin-bottom:26px;}
.tl12-reader-tags{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center;color:#929ca9;font-size:11px;}
.tl12-reader h1{text-align:center;font:700 clamp(27px,2.9vw,39px)/1.32 Georgia,"Times New Roman",serif;letter-spacing:-.02em;color:#23324b;margin:22px auto 11px;max-width:820px;overflow-wrap:anywhere;}
.tl12-reader-byline{text-align:center!important;font-size:11px!important;color:#9ba5b1!important;}
.tl12-reader-rule{width:70px;height:2px;background:#c7b28f;margin:25px auto 31px;}
.tl12-prose{font:16px/1.95 Georgia,"Times New Roman",serif;color:#354257;overflow-wrap:break-word;max-width:840px;margin:0 auto;}
.tl12-prose p{margin:0 0 19px;color:inherit!important;font:inherit!important;}
.tl12-prose h2,.tl12-prose h3{font-family:Georgia,serif;color:#26374e;line-height:1.45;margin:28px 0 11px;}
.tl12-prose h2{font-size:22px;}
.tl12-prose h3{font-size:18px;}
.tl12-prose blockquote{border-left:3px solid #c5a474;background:#f8f7f3;margin:26px 0;padding:18px 23px;color:#607087;font-style:italic;}
.tl12-prose blockquote p{margin:0;}
.tl12-prose ul,.tl12-prose ol{padding-left:28px;}
.tl12-prose li{margin:6px 0;}
.tl12-prose a{color:#345aa0;text-decoration:underline;}
.tl12-takeaway,.tl12-application{max-width:840px;margin:30px auto 0;border-radius:12px;padding:20px 24px;background:#fbf7ed;border:1px solid #f1e5cc;}
.tl12-takeaway>span,.tl12-application>span{font-size:10px;letter-spacing:.11em;font-weight:900;color:#9e7a3e;}
.tl12-takeaway p,.tl12-application p{font:16px/1.8 Georgia,serif;color:#4d5360;margin:9px 0 0;overflow-wrap:anywhere;}
.tl12-application{background:#f2f7f4;border-color:#dfece5;}
.tl12-application>span{color:#4a8065;}
.tl12-source{font-size:12px!important;color:#8d97a4!important;margin:30px auto 0;max-width:840px;}
.tl12-reader-keywords{margin:20px auto 0;max-width:840px;display:flex;gap:7px;flex-wrap:wrap;}
.tl12-reader-keywords span{padding:5px 9px;font-size:10px;border-radius:7px;background:#f2f4f6;color:#728296;}
.tl12-reader-bottom{text-align:center;border-top:1px solid #eff0f2;padding-top:21px;margin-top:48px;color:#b0a28d;font:italic 13px/1.6 Georgia,serif;}
.tl12-read-side{position:sticky;top:95px;display:grid;gap:14px;}
.tl12-read-buttons{display:grid;gap:7px;}
.tl12-read-buttons form{margin:0;}
.tl12-control{border:1px solid #dfe5ed;border-radius:8px;padding:9px 11px;background:#f8f9fb;font-size:11px;font-weight:750;color:#486182;cursor:pointer;min-height:34px;}
.tl12-control:hover{background:#ecf2fa;}
.tl12-control.danger{color:#b35756;background:#fff8f8;border-color:#f1dfdf;}
.tl12-read-buttons .tl12-control{width:100%;text-align:left;}
.tl12-related{display:grid;}
.tl12-related a{padding:10px 0;border-top:1px solid #ecf0f3;display:grid;gap:5px;}
.tl12-related span{font-size:12px;color:#405672;font-weight:750;line-height:1.45;}
.tl12-related small{font-size:10px;color:#97a2b0;}
.tl12-page.is-reading .tl12-read-layout{grid-template-columns:1fr;max-width:1000px;margin:auto;}
.tl12-page.is-reading .tl12-read-side{display:none;}
.tl12-page.is-reading .tl12-reader{padding-top:58px;}
.tl12-category-layout{display:grid;grid-template-columns:minmax(240px,330px) minmax(0,1fr);gap:16px;align-items:start;}
.tl12-category-create{display:grid;gap:15px;}
.tl12-category-create label{display:grid;gap:7px;}
.tl12-category-list{display:grid;gap:8px;}
.tl12-category-item{display:flex;align-items:center;gap:10px;background:#f9fafb;border:1px solid #e9edf2;border-radius:10px;padding:10px;min-width:0;}
.tl12-category-inline{display:flex;align-items:center;flex:1;gap:8px;min-width:0;}
.tl12-category-inline input{flex:1;}
.tl12-category-inline select{width:132px;}
.tl12-category-item>form:last-child{flex:0 0 auto;}
.tl12-category-item .tl12-control{white-space:nowrap;}
@media (max-width:1350px){.tl12-cards{grid-template-columns:repeat(2,minmax(0,1fr));}
.tl12-filters{display:grid;}
.tl12-search{width:100%;}}
@media (max-width:1080px){.tl12-workspace{grid-template-columns:184px minmax(0,1fr);}
.tl12-editor-form,.tl12-read-layout{grid-template-columns:minmax(0,1fr) 230px;}
.tl12-editor-paper{padding:21px;}
.tl12-summary{grid-template-columns:repeat(3,minmax(0,1fr));}
.tl12-summary p{grid-column:1/-1;border-top:1px solid #e8eaed;min-height:44px;}}
@media (max-width:850px){.tl12-top{align-items:flex-start;flex-direction:column;}
.tl12-editor-form,.tl12-read-layout,.tl12-category-layout{grid-template-columns:1fr;}
.tl12-editor-side,.tl12-read-side,.tl12-cats{position:static;}
.tl12-editor-side{grid-template-columns:1fr 1fr;}
.tl12-cats{display:flex;flex-wrap:wrap;gap:3px;padding:10px;}
.tl12-cats-title,.tl12-cats-tip{display:none;}
.tl12-cats>a{border:1px solid #e8edf3;}
.tl12-workspace{grid-template-columns:1fr;}
.tl12-category-inline{flex-wrap:wrap;}}
@media (max-width:610px){.tl12-page{padding-bottom:5px;}
.tl12-top h2{font-size:23px;}
.tl12-top-actions{width:100%;justify-content:flex-start;}
.tl12-top-actions>a{flex:1;}
.tl12-summary{grid-template-columns:repeat(3,minmax(0,1fr));}
.tl12-summary>div{padding:13px 9px;}
.tl12-summary span{font-size:9px;}
.tl12-summary strong{font-size:20px;}
.tl12-summary p{padding:12px 14px;font-size:12px;}
.tl12-cards{grid-template-columns:1fr;}
.tl12-filters{padding:9px;}
.tl12-search{min-width:0;flex-wrap:wrap;}
.tl12-search input{flex-basis:100%;padding-left:28px;}
.tl12-search span{margin-top:-36px;}
.tl12-search select{max-width:unset;flex:1;}
.tl12-reader{padding:31px 22px;}
.tl12-reader h1{font-size:28px;}
.tl12-prose{font-size:15px;line-height:1.85;}
.tl12-editor-side{grid-template-columns:1fr;}
.tl12-editor-paper{padding:19px;}
.tl12-title-input{font-size:20px!important;}
.tl12-read-top{flex-wrap:wrap;}
.tl12-category-item{flex-wrap:wrap;}
.tl12-category-item>form:last-child{margin-left:auto;}}
.tl12-history-list summary{font-size:11px;font-weight:760;color:#3b5988;cursor:pointer;padding:8px 0;}
.tl12-history-item{display:grid;gap:7px;padding:10px 0;border-top:1px solid #e8edf2;}
.tl12-history-item>div{display:grid;gap:3px;min-width:0;}
.tl12-history-item b{font-size:11px;}
.tl12-history-item small{font-size:10px;color:#9aa3b2;}
.tl12-history-item span{font-size:11px;color:#54657c;overflow-wrap:anywhere;}
.tl12-history-item form{margin:0;}
.tl12-history-item button{width:100%;}
/* ===== v13.css ===== */
.v13-eyebrow{font-size:10px;letter-spacing:.11em;font-weight:800;color:#5262bd;}
.v13-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px;}
.v13-page-head h2{font-size:23px;line-height:1.25;letter-spacing:-.035em;margin:4px 0 6px;color:#172235;}
.v13-page-head p{margin:0;font-size:13px;color:#778297;}
.v13-head-links{display:flex;gap:7px;align-items:center;flex-wrap:wrap;}
.v13-head-links .btn{white-space:nowrap;}
.v13-today,.v13-calendar{min-width:0;}
.v13-today{max-width:1680px;margin:0 auto 22px;}
.v13-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin:0 0 16px;}
.v13-kpi{display:block;text-decoration:none;padding:15px 17px;background:#fff;border:1px solid #e3e8ef;border-radius:15px;box-shadow:0 6px 20px rgba(19,37,62,.04);min-width:0;}
.v13-kpi span{display:block;color:#667488;font-size:12px;font-weight:600;line-height:1.35;}
.v13-kpi strong{display:block;color:#182439;font-size:22px;letter-spacing:-.03em;line-height:1.25;margin:6px 0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;}
.v13-kpi small{display:block;color:#7b889a;font-size:11px;line-height:1.5;}
.v13-kpi.is-alert{border-color:#eec9b0;background:#fffdf9;}
.v13-kpi.is-alert strong{color:#ae5720;}
.v13-columns{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,1fr);gap:14px;}
.v13-side-stack{display:grid;gap:14px;align-content:start;min-width:0;}
.v13-core-panel{min-width:0;padding:17px 18px!important;box-shadow:none!important;border-radius:15px!important;}
.v13-core-panel h3,.v13-nudges h3{font-size:15.5px;margin:0;color:#1b293c;letter-spacing:-.015em;}
.v13-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-bottom:12px;border-bottom:1px solid #eef1f5;margin-bottom:3px;}
.v13-panel-heading p{margin:4px 0 0;color:#79869a;font-size:11.5px;}
.v13-panel-heading a,.v13-links a,.v13-more{font-size:12px;color:#4555c5;text-decoration:none;font-weight:750;}
.v13-event{display:flex;align-items:center;gap:9px;text-decoration:none;color:#243247;border-bottom:1px solid #edf1f5;padding:9px 2px;min-width:0;transition:background .12s;}
.v13-event:last-child{border-bottom:0;}
.v13-event:hover,.v13-priority:hover{background:#f7f9ff;}
.v13-event-mark{height:28px;min-width:28px;border-radius:9px;display:grid;place-items:center;background:#eef1ff;color:#5561c7;font-size:14px;font-weight:700;}
.v13-event.v13-life .v13-event-mark,.v13-event.v13-birthday .v13-event-mark{background:#fff1ea;color:#a95d23;}
.v13-event.v13-fee .v13-event-mark,.v13-event.v13-debt .v13-event-mark{background:#fff0ed;color:#bc4934;}
.v13-event.v13-contact .v13-event-mark,.v13-event.v13-commitment .v13-event-mark{background:#e8f5ef;color:#227353;}
.v13-event-copy{min-width:0;flex:1;display:grid;gap:2px;}
.v13-event-copy strong{font-size:12.5px;line-height:1.4;color:#283449;font-weight:700;overflow-wrap:anywhere;}
.v13-event-copy small{font-size:11px;color:#7c889b;line-height:1.3;}
.v13-event-time{flex:0 0 auto;color:#4d5a70;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;text-align:right;max-width:110px;line-height:1.35;}
.v13-event.v13-urgent .v13-event-copy strong{color:#bd4d28;}
.v13-empty{padding:21px 8px;text-align:center;color:#7b899c;font-size:12px;}
.v13-footnote{font-size:11.5px!important;color:#7d8a9b!important;line-height:1.55!important;margin:12px 0 0!important;}
.v13-more{display:inline-block;margin-top:9px;}
.v13-priority{display:flex;align-items:center;justify-content:space-between;gap:10px;text-decoration:none;padding:11px 4px;border-bottom:1px solid #eff1f5;color:#243146;}
.v13-priority span:first-child{display:grid;gap:3px;min-width:0;}
.v13-priority strong{font-size:12.5px;line-height:1.35;}
.v13-priority small{font-size:11px;color:#8290a3;}
.v13-status{padding:5px 7px;white-space:nowrap;border-radius:7px;font-size:10px;font-weight:750;}
.v13-status.is-late{background:#ffedef;color:#c52d3d;}
.v13-status.is-important{background:#fff0df;color:#a96319;}
.v13-nudges{padding:17px 18px!important;box-shadow:none!important;}
.v13-nudges div:not(.v13-links){font-size:12px;color:#526077;padding:9px 0;border-bottom:1px solid #edf1f5;}
.v13-nudges div>strong{font-size:16px;color:#2c3a50;margin-right:6px;}
.v13-links{display:flex;gap:15px;margin-top:12px;}
.v13-reports-title{margin:24px 0 10px;padding:8px 2px 0;border-top:1px solid #e3e9f2;}
.v13-reports-title h3{font-size:18px;margin:5px 0 4px;}
.v13-reports-title p{font-size:12px;color:#7b899a;margin:0 0 12px;}
.sidebar nav.v13-sidebar-nav{gap:4px;padding-bottom:10px;}
.sidebar nav.v13-sidebar-nav a{font-size:12px;padding:9px 10px;}
.v13-nav-group{min-width:0;}
.v13-nav-group summary{cursor:pointer;list-style:none;padding:9px 9px;display:flex;align-items:center;gap:9px;color:#bccbe0;font-size:12px;font-weight:700;border-radius:10px;user-select:none;}
.v13-nav-group summary::-webkit-details-marker{display:none;}
.v13-nav-group summary:hover,.v13-nav-group[open] summary{background:#1b2940;color:#fff;}
.v13-nav-chevron{font-size:14px;color:#7f92aa;margin-left:auto;transition:transform .15s;}
.v13-nav-group[open] .v13-nav-chevron{transform:rotate(180deg);}
.sidebar nav .v13-subnav{display:grid;padding-left:15px;gap:2px;}
.sidebar nav .v13-subnav a{font-size:11.5px;padding:7px 9px;color:#9faec4;}
.sidebar nav .v13-subnav .nav-dot{font-size:13px;}
.v13-heading{display:flex;align-items:center;gap:9px;}
.v13-menu-button{display:none;appearance:none;width:38px;height:38px;border:1px solid #dfe5ee;border-radius:10px;background:#fff;color:#283a5a;font-size:19px;cursor:pointer;flex:0 0 auto;}
.v13-calendar{padding:18px!important;}
.v13-calendar .v13-page-head{margin-bottom:12px;}
.v13-legend{display:flex;flex-wrap:wrap;gap:14px;border-bottom:1px solid #edf0f5;padding:5px 1px 13px;color:#64728a;font-size:11.5px;}
.v13-legend span:nth-child(1){color:#5a64bd;}
.v13-legend span:nth-child(2){color:#ab691e;}
.v13-legend span:nth-child(3){color:#bc4e43;}
.v13-legend span:nth-child(4){color:#207653;}
.v13-legend span:nth-child(5){color:#63738e;}
.v13-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:12px;}
.v13-day{border:1px solid #e1e6ef;border-radius:12px;padding:10px 8px;min-width:0;background:#fbfcfe;min-height:230px;}
.v13-day.is-today{border-color:#8294f0;background:#f6f7ff;box-shadow:inset 0 0 0 1px #b6bdf5;}
.v13-day.is-heavy{border-color:#f0aeaa;}
.v13-day header{display:flex;justify-content:space-between;align-items:center;gap:5px;margin-bottom:10px;}
.v13-day header div{display:grid;gap:2px;}
.v13-day header small{font-size:9.5px;color:#8390a3;font-weight:650;}
.v13-day header strong{font-size:15px;color:#25314a;}
.v13-day header>span{font-size:9px;color:#98a4b5;white-space:nowrap;}
.v13-day-load{margin:0 0 8px;}
.v13-day-load span{font-size:10px;color:#6d7a8f;display:block;margin-bottom:5px;}
.v13-meter{background:#e4eaf2;border-radius:20px;height:5px;overflow:hidden;}
.v13-meter i{display:block;background:#5263e0;height:100%;border-radius:inherit;}
.v13-day.is-heavy .v13-meter i{background:#d24e4b;}
.v13-day-warning{font-size:10px;font-weight:750;color:#ba4535;background:#fff0ef;border-radius:6px;padding:4px 6px;margin-bottom:5px;}
.v13-day-events{display:grid;align-content:start;gap:5px;}
.v13-day .v13-event{display:grid;grid-template-columns:19px minmax(0,1fr);gap:4px;padding:5px 3px;border:1px solid #e8ecf2;border-radius:8px;background:#fff;}
.v13-day .v13-event-mark{min-width:19px;width:19px;height:19px;font-size:10px;border-radius:5px;}
.v13-day .v13-event-copy strong{font-size:10.5px;line-height:1.25;}
.v13-day .v13-event-copy small{font-size:9px;line-height:1.2;}
.v13-day .v13-event-time{grid-column:2;max-width:none;text-align:left;font-size:9.5px;}
.v13-week-empty{font-size:10px;color:#a1aab9;padding:8px 0;}
.v13-advanced{margin:16px 0;}
.v13-advanced>summary{list-style:none;cursor:pointer;background:#eff3f9;border:1px solid #dfe6ef;border-radius:11px;padding:14px;color:#3e526f;font-size:12.5px;font-weight:750;}
.v13-advanced>summary::-webkit-details-marker{display:none;}
.v13-advanced[open]>summary{margin-bottom:14px;}
.v13-menu-backdrop{display:none;}
@media (max-width:1480px){.v13-week-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
.v13-day{min-height:185px;}}
@media (max-width:1120px){.v13-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}
.v13-columns{grid-template-columns:1fr;}
.v13-week-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:900px){.v13-week-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.v13-page-head{flex-wrap:wrap;}
.v13-page-head h2{font-size:20px;}}
@media (max-width:820px){.app-shell{display:block!important;}
.sidebar{position:fixed!important;top:0!important;left:0!important;right:auto!important;bottom:0!important;width:min(292px,85vw)!important;height:100dvh!important;transform:translateX(-105%);transition:transform .22s ease;z-index:99!important;padding:17px 13px!important;box-shadow:16px 0 36px rgba(13,25,43,.13);display:flex!important;}
.sidebar .brand{display:flex!important;justify-content:flex-start!important;}
.sidebar .brand>div{display:block!important;}
.sidebar nav.v13-sidebar-nav{display:grid!important;overflow-y:auto!important;overflow-x:hidden!important;flex:1!important;min-height:0!important;gap:3px!important;}
.sidebar nav.v13-sidebar-nav a:not(.active) .nav-label,.sidebar nav.v13-sidebar-nav a .nav-label,.sidebar .sidebar-user>div:not(.avatar),.sidebar .logout{display:block!important;}
.sidebar .sidebar-user{display:flex!important;}
.sidebar nav.v13-sidebar-nav a{justify-content:flex-start!important;font-size:12px!important;min-width:0!important;}
.sidebar nav .nav-dot{font-size:15px;}
.sidebar .logout{font-size:11px!important;}
.sidebar.is-open{transform:translateX(0);}
.v13-menu-button{display:block;}
.v13-menu-backdrop:not([hidden]){display:block;position:fixed;inset:0;background:rgba(9,20,37,.45);z-index:98;}
.main{padding-bottom:0!important;}
.topbar{padding:10px 15px!important;height:67px!important;}
.topbar h1{font-size:18px!important;}
.content{padding:12px!important;}
.v13-core-panel{padding:14px!important;}}
@media (max-width:560px){.v13-week-grid{grid-template-columns:1fr 1fr;}
.v13-day{min-height:0;padding:9px;}
.v13-kpis{grid-template-columns:1fr 1fr;gap:8px;}
.v13-kpi{padding:12px;}
.v13-kpi strong{font-size:17px;}
.v13-kpi span{font-size:11px;}
.v13-kpi small{font-size:10px;}
.v13-event-time{font-size:10px;max-width:90px;}
.v13-page-head h2{font-size:19px;}
.v13-day header strong{font-size:13px;}
.top-actions .v11-topsearch{display:none!important;}
.v13-calendar{padding:12px!important;}
.v13-legend{gap:8px;}}
@media (max-width:390px){.v13-week-grid{grid-template-columns:1fr;}
.v13-kpis{grid-template-columns:1fr 1fr;}
.v13-kpi strong{font-size:15px;}
.v13-event-time{max-width:75px;}}
/* ===== v14.css ===== */
.v14-page{--v14-ink:#1b2740;--v14-muted:#657288;--v14-border:#e0e5ed;--v14-tint:#f3f5f9;--v14-teal:#147d73;--v14-amber:#b65b17;--v14-red:#b83242;color:var(--v14-ink);max-width:1600px;margin:auto;font-size:14px;}
.v14-page *, .v14-page *:before,.v14-page *:after{box-sizing:border-box;}
.v14-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:17px;}
.v35-finance-actions{position:relative;flex:0 0 auto;z-index:9;}
.v35-finance-actions>summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:43px;padding:10px 17px;background:#000;color:#fff;border:1px solid #000;border-radius:12px;font-size:13px;font-weight:760;cursor:pointer;white-space:nowrap;box-shadow:0 6px 18px rgba(0,0,0,.09);}
.v35-finance-actions>summary::-webkit-details-marker{display:none;}
.v35-finance-actions>summary:hover,.v35-finance-actions[open]>summary{color:#FFD700;background:#111;}
.v35-finance-actions>summary:focus-visible{outline:2px solid #FFD700;outline-offset:3px;}
.v35-finance-actions>summary span{font-size:15px;transition:transform .15s ease;}
.v35-finance-actions[open]>summary span{transform:rotate(180deg);}
.v35-finance-menu{position:absolute;right:0;top:calc(100% + 9px);width:min(345px,calc(100vw - 34px));display:grid;gap:3px;padding:8px;border:1px solid rgba(255,255,255,.9);border-radius:16px;background:rgba(255,255,255,.97);box-shadow:0 18px 45px rgba(8,16,28,.17);z-index:11;}
.v35-finance-menu a{display:grid;gap:3px;padding:10px 12px;border-radius:10px;color:#171717;text-decoration:none;}
.v35-finance-menu a:hover,.v35-finance-menu a:focus-visible{background:#FFF8D6;outline:none;}
.v35-finance-menu strong{font-size:13px;font-weight:760;}
.v35-finance-menu small{font-size:11.5px;line-height:1.4;color:#606771;}
#troly-budget-form,#troly-cost-plan-form,#troly-transaction-form,#troly-account-form{scroll-margin-top:110px;}
@media (max-width:620px){.v35-finance-actions{width:100%;}
.v35-finance-actions>summary{width:100%;justify-content:space-between;}
.v35-finance-menu{left:0;right:auto;width:100%;max-width:none;}}
.v14-intro h2{margin:1px 0 7px;font-size:25px;letter-spacing:-.7px;color:#192b45;}
.v14-intro p{margin:0;color:#697489;line-height:1.55;max-width:740px;font-size:13px;}
.v14-eyebrow{font-size:10px;letter-spacing:1.15px;color:#687ba0;font-weight:800;}
.v14-intro .btn{white-space:nowrap;}
.v14-filters{display:flex;align-items:end;gap:12px;background:#fff;border:1px solid var(--v14-border);border-radius:14px;padding:14px 16px;margin-bottom:12px;flex-wrap:wrap;}
.v14-filters label{font-size:11px;font-weight:750;color:#606f82;display:flex;flex-direction:column;gap:5px;min-width:180px;}
.v14-filters select,.v14-filters input{height:38px;border:1px solid #d9e0e9;border-radius:9px;padding:7px 10px;color:#22314b;background:white;font-size:13px;width:100%;min-width:0;}
.v14-tabs{display:flex;gap:4px;align-items:center;overflow-x:auto;scrollbar-width:thin;margin:0 0 14px;white-space:nowrap;}
.v14-tabs a{color:#67748a;padding:10px 14px;border-bottom:2px solid transparent;text-decoration:none;font-size:12px;font-weight:700;}
.v14-tabs a:hover{color:#4156ae;background:#f4f6fa;}
.v14-tabs a.active{color:#364bc5;border-color:#4356d7;}
.v14-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin:0 0 14px;}
.v14-kpi{background:#fff;border:1px solid var(--v14-border);border-radius:13px;padding:15px 16px;display:flex;flex-direction:column;gap:8px;min-width:0;}
.v14-kpi span{font-size:11px;color:#5e6a7d;font-weight:730;}
.v14-kpi strong{font-size:21px;letter-spacing:-.35px;line-height:1.1;color:#22344f;overflow-wrap:anywhere;}
.v14-kpi small{font-size:10.5px;color:#788399;line-height:1.4;}
.v14-kpi.good strong{color:#147d73;}
.v14-kpi.warning strong{color:#b65b17;}
.v14-kpi.danger strong{color:#b83242;}
.v14-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:0 0 13px;align-items:start;}
.v14-panel{background:#fff;border:1px solid var(--v14-border);border-radius:15px;padding:18px 20px;min-width:0;}
.v14-panel h3{font-size:16px;margin:0 0 12px;line-height:1.4;color:#203451;}
.v14-panel p{font-size:12.5px;line-height:1.6;color:#5e6c80;}
.v14-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:15px;}
.v14-panel-head h3{margin:0;}
.v14-panel-head small{color:#8791a2;font-size:10px;line-height:1.4;}
.v14-caution{padding:12px 14px;background:#fff7ea;border:1px solid #f0dcba;border-radius:11px;color:#845113;font-size:12px;line-height:1.55;margin-bottom:14px;}
.v14-danger{background:#fff1f2;border:1px solid #f3cfd4;color:#ae3144;border-radius:9px;padding:12px;font-weight:700;font-size:12px;}
.v14-empty{color:#8390a1!important;background:#f8fafc;border-radius:9px;padding:15px;text-align:center;}
.v14-footnote,.v14-hint{font-size:11.5px!important;color:#7c889b!important;line-height:1.6!important;}
.v14-scope-row{display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid #eef0f4;padding:11px 0;}
.v14-scope-row:first-child{padding-top:0;}
.v14-scope-row:last-child{border:0;}
.v14-scope-row>div{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap;}
.v14-scope-row>span{text-align:right;display:flex;flex-direction:column;gap:4px;}
.v14-scope-row strong{white-space:nowrap;font-size:12.8px;}
.v14-scope-row b{font-size:12.7px;}
.v14-scope-row small{font-size:10px;color:#838da0;}
.v14-scope-dot{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:#9aa5b4;}
.v14-scope-dot.personal{background:#5064c9;}
.v14-scope-dot.family{background:#ba7a30;}
.v14-scope-dot.business{background:#12887f;}
.v14-forecast-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.v14-forecast-row>div{padding:12px 10px;border-radius:10px;background:#f6f8fa;display:flex;flex-direction:column;gap:6px;}
.v14-forecast-row span{font-weight:700;font-size:11px;color:#6d7b8f;}
.v14-forecast-row strong{font-size:15px;line-height:1.3;overflow-wrap:anywhere;}
.v14-forecast-row strong.good{color:#167b70;}
.v14-forecast-row strong.bad{color:#c23c48;}
.v14-forecast-notes{margin-top:13px;padding-top:9px;border-top:1px solid #eef0f4;}
.v14-forecast-notes p{font-size:11.8px;margin:6px 0;}
.v14-chart{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;height:220px;border-bottom:1px solid #e3e8ef;padding:10px 2px 0;}
.v14-chart-col{min-width:0;display:flex;flex-direction:column;gap:7px;justify-content:end;text-align:center;}
.v14-chart-col>span{font-size:10px;color:#7e8a9b;}
.v14-bars{height:180px;display:flex;align-items:end;justify-content:center;gap:5px;}
.v14-bar{width:15px;max-width:42%;min-height:0;border-radius:5px 5px 0 0;}
.v14-bar.income,.v14-legend i.income{background:#26a38e;}
.v14-bar.expense,.v14-legend i.expense{background:#e39a5a;}
.v14-legend{display:flex;gap:16px;margin-top:12px;font-size:11px;color:#68758a;}
.v14-legend span{display:inline-flex;align-items:center;gap:6px;}
.v14-legend i{width:9px;height:9px;border-radius:2px;}
.v14-category{margin:12px 0;}
.v14-category>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:11.8px;align-items:center;margin-bottom:7px;}
.v14-category strong{font-size:12.5px;}
.v14-track{height:6px;background:#e9eef3;border-radius:999px;overflow:hidden;}
.v14-track i{display:block;background:#6578d9;height:100%;min-width:0;border-radius:inherit;}
.v14-track i.warning{background:#dc9a36;}
.v14-track i.over{background:#d55758;}
.v14-budget{padding:14px 0;border-bottom:1px solid #edf0f4;}
.v14-budget:first-of-type{padding-top:0;}
.v14-budget:last-child{border:0;}
.v14-budget-header,.v14-budget-amount{display:flex;justify-content:space-between;align-items:center;gap:10px;}
.v14-budget-header{margin-bottom:9px;}
.v14-budget-header strong{font-size:13px;}
.v14-budget-header span{font-size:10px;color:#7d8aa0;}
.v14-budget-amount{font-size:16px;font-weight:800;margin-bottom:9px;}
.v14-budget-amount small{font-size:12px;color:#7b8697;font-weight:500;}
.v14-budget>small{font-size:10px;color:#718094;margin-top:7px;display:block;}
.v14-budget>small.v14-over{color:#b83242;font-weight:750;}
.v14-form{display:flex;flex-direction:column;gap:13px;}
.v14-form label{font-size:12px;color:#3a4960;font-weight:700;display:flex;flex-direction:column;gap:6px;}
.v14-form input,.v14-form select,.v14-form textarea{border:1px solid #dce1e9;border-radius:10px;padding:10px 11px;min-height:41px;background:#fff;font-size:13px;width:100%;color:#24334c;min-width:0;}
.v14-form input:focus,.v14-form select:focus,.v14-form textarea:focus{outline:3px solid #e4e7ff;border-color:#8d9ef3;}
.v14-form .btn{align-self:start;}
.v14-checkbox{flex-direction:row!important;align-items:start!important;font-size:12px!important;gap:10px!important;background:#f7f9fc;padding:13px;border-radius:10px;}
.v14-checkbox input{width:17px;min-height:17px;height:17px;margin-top:1px;flex:0 0 auto;}
.v14-checkbox span{display:flex;flex-direction:column;gap:4px;}
.v14-checkbox small{font-size:10.5px;color:#7c8999;font-weight:400;line-height:1.55;}
.v14-plan,.v14-account-edit,.v14-tx-edit{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #edf0f4;}
.v14-plan:last-child,.v14-account-edit:last-child,.v14-tx-edit:last-child{border:0;}
.v14-plan>div:first-child,.v14-account-edit>div:first-child,.v14-tx-edit>div:first-child{display:flex;flex-direction:column;gap:5px;min-width:0;}
.v14-plan strong,.v14-account-edit strong,.v14-tx-edit strong{font-size:12.6px;line-height:1.4;overflow-wrap:anywhere;}
.v14-plan small,.v14-account-edit small,.v14-tx-edit small{font-size:10px;color:#8590a1;line-height:1.45;}
.v14-plan-right{display:flex;align-items:end;flex-direction:column;gap:6px;}
.v14-plan-right b{font-size:13px;}
.v14-plan-actions{display:flex;gap:7px;}
.v14-plan-actions form{margin:0;}
.v14-account-edit select,.v14-tx-edit select{max-width:165px;min-width:120px;min-height:36px;border:1px solid #d7dde7;border-radius:8px;padding:7px 8px;font-size:12px;}
.v14-inline-actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center;}
@media (max-width:1180px){.v14-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}
.v14-grid{grid-template-columns:minmax(0,1fr);}
.v14-page{font-size:13px;}}
@media (max-width:620px){.v14-intro{align-items:start;flex-direction:column;}
.v14-intro h2{font-size:22px;}
.v14-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.v14-kpi{padding:11px 12px;}
.v14-kpi strong{font-size:16px;}
.v14-kpi small{font-size:10px;}
.v14-panel{padding:13px;}
.v14-forecast-row{grid-template-columns:1fr;}
.v14-forecast-row>div{display:flex;flex-direction:row;justify-content:space-between;align-items:center;}
.v14-account-edit,.v14-tx-edit{flex-wrap:wrap;}
.v14-account-edit>div,.v14-tx-edit>div{flex-basis:100%;}
.v14-plan{align-items:start;}
.v14-plan-right{text-align:right;}
.v14-filters label{width:100%;}
.v14-chart{height:190px;}
.v14-bars{height:150px;}}
.v14-budget-overview{background:#f6f8fc;border:1px solid #e2e8f2;border-radius:13px;padding:14px 17px;margin-bottom:13px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.v14-budget-overview>div{display:flex;flex-direction:column;gap:5px;}
.v14-budget-overview span{font-size:11px;font-weight:750;color:#66768b;}
.v14-budget-overview strong{font-size:20px;color:#1e3857;}
.v14-budget-overview p{grid-column:1/-1;font-size:11px;color:#718094;line-height:1.5;margin:3px 0 0;}
@media (max-width:620px){.v14-budget-overview{grid-template-columns:1fr;}
.v14-budget-overview p{grid-column:auto;}}
/* ===== v15.css ===== */
.v15-page{display:grid;gap:17px;max-width:1500px;margin:auto;color:#1b2d43;}
.v15-intro{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:4px 0 3px;}
.v15-eyebrow{font-weight:800;color:#5264a7;font-size:10px;letter-spacing:.13em;}
.v15-intro h2{font-size:25px;letter-spacing:-.025em;margin:4px 0 7px;}
.v15-intro p,.v15-section-title p{margin:0;color:#69768a;font-size:13px;line-height:1.6;}
.v15-editor,.v15-list{border-radius:17px!important;padding:20px!important;background:#fff;}
.v15-section-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:17px;}
.v15-section-title h3{font-size:17px;letter-spacing:-.02em;margin:0 0 3px;color:#1b2d43;}
.v15-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 16px;}
.v15-form>label{display:grid;gap:7px;min-width:0;font-weight:700;font-size:12.5px;color:#34445d;}
.v15-form label>span{color:#d55256;}
.v15-form input:not([type=checkbox]),.v15-form select,.v15-form textarea{min-width:0;width:100%;border:1px solid #dfe5ee;border-radius:10px;padding:11px 12px;font-family:inherit;font-weight:500;font-size:13px;line-height:1.5;background:#fff;color:#1d2a40;}
.v15-form textarea{resize:vertical;}
.v15-form label small{font-size:11px;color:#768397;font-weight:400;}
.v15-wide{grid-column:1/-1;}
.v15-toggle-row{display:flex;align-items:center;flex-wrap:wrap;gap:24px;}
.v15-form .v15-inline{font-weight:650;font-size:12px;display:flex;align-items:center;gap:8px;}
.v15-inline input{accent-color:#4b5ce0;}
.v15-form-actions{display:flex;justify-content:flex-end;gap:10px;}
.v15-footnote{font-size:12px;color:#718098;margin:14px 0 0;}
.v15-warning{background:#fff7ea;border:1px solid #f2d29a;color:#8b5611;padding:11px 15px;border-radius:12px;font-size:13px;}
.v15-warning a{font-weight:700;color:inherit;}
.v15-filters{display:flex;gap:5px;flex-wrap:wrap;}
.v15-filters a{text-decoration:none;border:1px solid #e1e6ed;color:#69768c;border-radius:9px;padding:7px 10px;font-size:12px;font-weight:700;}
.v15-filters a.is-current{background:#eef0ff;color:#334bd4;border-color:#cdd5ff;}
.v15-items{display:grid;gap:10px;background:#f4f6f9;padding:12px;border-radius:12px;}
.v15-item{background:#fff;border:1px solid #e5eaf1;padding:14px 16px;border-radius:12px;}
.v15-item.is-archived{opacity:.72;}
.v15-item-head{display:flex;justify-content:space-between;gap:12px;align-items:start;}
.v15-item-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.v15-item-title h4{margin:0;font-size:15px;color:#1e293d;}
.v15-event-type{border-radius:7px;color:#4355ac;background:#ecf0ff;font-size:10px;font-weight:800;padding:5px 8px;white-space:nowrap;}
.v15-item-actions{display:flex;align-items:center;gap:9px;flex-shrink:0;}
.v15-item-actions>a,.v15-item-actions button{font:700 12px/1.2 inherit;color:#4355b3;text-decoration:none;background:transparent;border:0;cursor:pointer;padding:5px;}
.v15-item-actions form{margin:0;}
.v15-item-meta{display:flex;gap:8px 14px;flex-wrap:wrap;font-size:12px;font-weight:600;color:#5b687b;margin-top:10px;}
.v15-participants{font-size:12px;margin:9px 0 0;color:#68778c;}
.v15-empty{padding:28px 12px;text-align:center;color:#6a788c;font-size:13px;}
body .v13-event.v13-event{transition:border-color .15s;}
.v13-event.v13-event.v13-event{--event-accent:#4e65c5;}
.v13-event.v13-event .v13-event-time{min-width:0;}
@media (max-width:750px){.v15-intro,.v15-section-title{align-items:stretch;flex-direction:column;}
.v15-form{grid-template-columns:minmax(0,1fr);}
.v15-editor,.v15-list{padding:15px!important;}
.v15-form-actions{justify-content:stretch;}
.v15-form-actions>*{flex:1;}
.v15-item-head{flex-direction:column;}
.v15-item-title{align-items:flex-start;flex-direction:column;gap:5px;}
.v15-item-actions{margin-left:auto;}
.v15-filters{overflow-x:auto;flex-wrap:nowrap;max-width:100%;}}
.v15-contact-section{padding:15px;border:1px solid #e5eaf2;border-radius:13px;background:#fff;margin:12px 0;}
.v15-contact-section .v7-subhead{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.v15-contact-event{display:flex;align-items:center;justify-content:space-between;gap:12px;text-decoration:none;border-bottom:1px solid #edf0f4;padding:9px 0;color:#27354d;font-size:13px;}
.v15-contact-event:last-child{border:0;}
.v15-contact-event small{color:#6a7691;}
.v15-participants a{color:#4355ac;font-weight:700;text-decoration:none;}
.v15-date-field{display:flex;align-items:center;width:100%;gap:7px;}
.v15-date-field input[type=text]{flex:1;min-width:0;}
.v15-form .v15-date-field .v15-native-calendar{flex:0 0 35px;width:35px;min-width:35px;max-width:35px;height:43px;padding:5px!important;font-size:0!important;color:transparent!important;border:1px solid #dfe5ee;border-radius:10px;cursor:pointer;background:#f7f9fc;}
.v15-native-calendar::-webkit-calendar-picker-indicator{cursor:pointer;opacity:1;max-width:23px;}
/* ===== v16.css ===== */
.v16-quick-open{border:1px solid #4858dc;color:#fff;background:#4253dd;padding:9px 13px;border-radius:11px;font-size:13px;font-weight:750;cursor:pointer;white-space:nowrap;min-height:38px;box-shadow:0 4px 12px #4253dd23;}
.v16-quick-open:hover{background:#3544bd;}
.v16-active-bar{margin:8px 20px 0;display:flex;align-items:center;gap:14px;border:1px solid #cfe0da;background:#f1fbf6;padding:10px 15px;border-radius:13px;flex-wrap:wrap;}
.v16-pulse{width:9px;height:9px;border-radius:100%;background:#1c995b;box-shadow:0 0 0 4px #1c995b20;flex:none;animation:v16-pulse 2.5s infinite;}
@keyframes v16-pulse{50%{box-shadow:0 0 0 8px #1c995b10;}}
.v16-active-title{display:flex;flex-direction:column;min-width:0;flex:1 1 220px;gap:3px;}
.v16-active-title span{font-size:9px;font-weight:800;letter-spacing:1px;color:#388362;}
.v16-active-title strong{font-size:13px;font-weight:750;color:#203a31;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.v16-active-time{font-size:18px;color:#177647;font-variant-numeric:tabular-nums;white-space:nowrap;}
.v16-active-bar a{font-size:12px;font-weight:700;}
.v16-sessions{margin-top:18px;padding:21px!important;}
.v16-section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;}
.v16-eyebrow{font-size:10px;letter-spacing:1.4px;font-weight:800;color:#6678a5;}
.v16-section-heading h2,.v16-modal-header h2{font-size:19px;line-height:1.3;margin:4px 0!important;}
.v16-section-heading p,.v16-modal-header p{color:#667084;font-size:13px;margin:0;}
.v16-session-list{display:flex;flex-direction:column;gap:7px;}
.v16-session-item{background:#fff;border:1px solid #e4e8ee;border-radius:12px;overflow:hidden;}
.v16-session-item>summary{display:grid;grid-template-columns:minmax(150px,1.2fr) minmax(225px,1.8fr) 130px auto;gap:13px;padding:11px 13px;align-items:center;cursor:pointer;list-style:none;font-size:12px;line-height:1.4;}
.v16-session-item>summary::-webkit-details-marker{display:none;}
.v16-session-item[open]>summary{background:#f7f9ff;border-bottom:1px solid #e8edf5;}
.v16-session-title{font-size:13px;font-weight:750;color:#1d293f;}
.v16-session-item summary>b{color:#3655b1;white-space:nowrap;}
.v16-edit-trigger{font-weight:750;color:#4253d1;white-space:nowrap;}
.v16-session-edit{padding:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end;}
.v16-session-edit label{min-width:0;font-size:12px;font-weight:700;display:flex;flex-direction:column;gap:6px;}
.v16-session-edit input,.v16-session-edit textarea{width:100%;min-width:0;border:1px solid #d9e0ed;border-radius:10px;background:#fff;padding:10px 12px;font-size:13px;font-family:inherit;}
.v16-session-edit .v16-reason{grid-column:1/-1;}
.v16-session-edit button{justify-self:start;}
.v16-empty{color:#788497;font-size:13px;}
.v16-session-log{margin-top:18px;border:1px solid #e2e8f0;border-radius:12px;padding:13px;}
.v16-session-log>summary{cursor:pointer;font-weight:750;font-size:13px;}
.v16-audit-row{padding:12px 4px;border-bottom:1px solid #e9edf4;font-size:12px;line-height:1.8;}
.v16-audit-row strong{margin-right:10px;}
.v16-audit-row small{color:#68748a;}
.v16-audit-row b{color:#247a52;}
.v16-audit-row p{margin:3px 0;color:#4b596e;}
.v16-modal-backdrop{position:fixed;inset:0;z-index:99990;background:rgba(11,24,45,.55);}
.v16-modal{position:fixed;z-index:99991;top:50%;left:50%;transform:translate(-50%,-50%);width:min(540px,calc(100vw - 24px));max-height:calc(100dvh - 28px);overflow:auto;background:#fff;border:1px solid #e5eaf2;border-radius:19px;padding:22px;box-shadow:0 24px 80px #12233950;}
.v16-modal[hidden],.v16-modal-backdrop[hidden],.v16-modal [hidden]{display:none!important;}
.v16-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.v16-modal-close{display:flex;align-items:center;justify-content:center;flex:none;width:35px;height:35px;background:#f1f4f8;border:0;border-radius:10px;font-size:24px;cursor:pointer;}
.v16-modal-tabs{display:flex;gap:4px;background:#f3f5fa;border-radius:12px;padding:4px;margin:18px 0 15px;}
.v16-modal-tabs button{flex:1;padding:9px 12px;border:0;border-radius:9px;background:transparent;font-size:13px;font-weight:750;color:#68758e;cursor:pointer;}
.v16-modal-tabs button.selected{background:#fff;color:#374dc3;box-shadow:0 2px 6px #001a4615;}
.v16-quick-form{display:flex;flex-direction:column;gap:12px;}
.v16-quick-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:750;color:#34405a;}
.v16-quick-form input,.v16-quick-form select,.v16-quick-form textarea{min-width:0;width:100%;padding:10px 12px;border:1px solid #d8dfed;border-radius:11px;font-size:13px;font-family:inherit;}
.v16-quick-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.v16-quick-form button{align-self:flex-start;}
.v16-helper,.v16-modal-tip{font-size:11px;line-height:1.5;color:#7b879d;margin:1px 0;}
.v16-modal-shortcuts{border-top:1px solid #edf0f4;margin-top:18px;padding-top:15px;display:flex;gap:14px;flex-wrap:wrap;}
.v16-modal-shortcuts a{font-size:12px;font-weight:750;color:#4253c6;text-decoration:none;}
.v16-modal-tip{margin-top:14px;}
.v16-modal kbd{border:1px solid #d9deea;background:#f7f8fa;padding:2px 5px;border-radius:4px;}
@media (max-width:1180px){.v16-session-item>summary{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:5px 12px;}
.v16-quick-open{font-size:12px;padding:9px;}}
@media (max-width:820px){.topbar .top-actions{display:flex;gap:7px;min-width:0;}
.topbar .v11-topsearch{display:none;}
.v16-quick-open{min-height:36px;}
.v16-active-bar{margin:8px 12px 0;padding:10px;}
.v16-active-time{font-size:16px;}
.v16-section-heading{flex-direction:column;}
.v16-session-item>summary{grid-template-columns:1fr auto;}
.v16-session-item>summary>span:nth-child(2){grid-column:1/-1;grid-row:2;font-size:12px;color:#637189;}
.v16-session-edit{grid-template-columns:1fr;}
.v16-session-edit .v16-reason{grid-column:auto;}
.v16-sessions{padding:12px!important;}
.v16-modal{padding:16px;}}
@media (max-width:520px){.v16-quick-cols{grid-template-columns:1fr 1fr;}
.v16-quick-open{font-size:0;}
.v16-quick-open:after{content:"+";font-size:21px;}
.v16-active-bar{gap:9px;}
.v16-active-bar a{display:none;}
.v16-active-title{flex-basis:135px;}
.v16-active-title strong{font-size:12px;}
.v16-active-bar form{margin-left:auto;}
.v16-modal-shortcuts{gap:10px;}
.v16-modal{width:calc(100vw - 18px);border-radius:13px;}}
body.v16-modal-active{overflow:hidden;}
.v16-sessions-toggle{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;font-size:13px;font-weight:800;color:#263752;}
.v16-sessions-toggle::-webkit-details-marker{display:none;}
.v16-sessions-toggle span:last-child{font-size:11px;color:#5365b0;font-weight:700;}
.v16-sessions[open] .v16-sessions-toggle{border-bottom:1px solid #e9edf4;padding-bottom:12px;margin-bottom:15px;}
@media (max-width:600px){.v16-sessions-toggle{flex-direction:column;align-items:flex-start;}}
/* ===== v17.css ===== */
.v17-health{margin-top:22px;background:#fff;border:1px solid #e2e7ed;border-radius:18px;padding:22px;max-width:100%;}
.v17-health-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:15px;}
.v17-kicker{font-size:11px;font-weight:800;letter-spacing:.09em;color:#6072a0;}
.v17-health h2{font-size:19px;line-height:1.3;color:#1b2941;margin:5px 0;}
.v17-health-head p{font-size:13px;color:#65758c;margin:0;}
.v17-health-score{min-width:85px;text-align:center;border-radius:12px;background:#edf3ff;border:1px solid #dbe5fa;padding:9px;}
.v17-health-score strong{display:block;font-size:19px;color:#244d97;font-variant-numeric:tabular-nums;}
.v17-health-score span{display:block;font-size:11px;color:#64748b;}
.v17-health-note{background:#fff8eb;color:#825a19;border:1px solid #fae4b9;border-radius:10px;padding:9px 12px;font-size:12px;}
.v17-health-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.v17-health-row{min-width:0;display:flex;align-items:flex-start;gap:10px;background:#f8fafc;border:1px solid #e8edf3;border-radius:10px;padding:10px;}
.v17-health-indicator{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;flex:none;border-radius:100%;font-weight:800;font-size:13px;}
.v17-ok{background:#ddf7e6;color:#187744;}
.v17-warn{background:#fff0cf;color:#91601c;}
.v17-error{background:#ffe2e4;color:#a52d38;}
.v17-health-row strong{font-size:13px;color:#27344c;}
.v17-health-row p{margin:3px 0 0;font-size:12px;color:#5b6a80;line-height:1.5;overflow-wrap:anywhere;}
.v17-health-row small{display:block;font-size:11px;margin-top:4px;line-height:1.5;color:#856126;}
.v17-health-foot{margin:16px 0 0;font-size:12px;color:#6c798e;}
@media (max-width:780px){.v17-health{padding:14px;margin-top:14px;}
.v17-health-list{grid-template-columns:1fr;}
.v17-health-head{flex-wrap:wrap;}
.v17-health-score{margin-left:auto;}}
@media (max-width:520px){.v16-modal{max-height:calc(100dvh - 16px);overscroll-behavior:contain;}
.v16-sessions .v16-session-item>summary{font-size:12px;overflow-wrap:anywhere;}
.v16-active-title strong{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;}}
/* ===== dashboard.css ===== */
.troly-dashboard{--d-ink:#14243b;--d-muted:#788599;--d-line:#e6ebf2;--d-shadow:0 8px 28px rgba(21,36,59,.045);color:var(--d-ink);max-width:1760px;margin:0 auto;font-size:13px;}
.troly-dashboard *{box-sizing:border-box;}
.troly-dashboard a{text-decoration:none;color:inherit;}
.troly-dashboard button,.troly-dashboard input{font:inherit;}
.dash-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;}
.dash-eyebrow{font-size:10px;color:#6473e4;letter-spacing:.115em;font-weight:850;}
.dash-heading-major h2{font-size:23px;font-weight:800;letter-spacing:-.045em;line-height:1.25;margin:5px 0;}
.dash-heading-major p{font-size:12.5px;color:var(--d-muted);margin:5px 0 0;}
.dash-select-form{display:flex;align-items:center;gap:8px;flex:0 0 auto;background:#fff;border:1px solid var(--d-line);padding:7px 9px;border-radius:12px;}
.dash-select-form label{font-size:11px;color:#66748b;font-weight:750;white-space:nowrap;}
.dash-select-form input,.dash-custom-range input{border:1px solid #e0e6ef;background:#fff;border-radius:8px;padding:7px;font-size:11.5px;color:#25344d;min-width:0;}
.dash-soft-btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:#edf0ff;color:#4151dc;font-size:11.5px;font-weight:750;padding:8px 12px;cursor:pointer;}
.dash-soft-btn:hover{background:#dfe4ff;}
.dash-view-tabs{display:flex;align-items:center;gap:6px;flex-wrap:wrap;border-bottom:1px solid #e1e6ef;margin-bottom:12px;}
.dash-view-tabs a{position:relative;padding:10px 12px;color:#758198;font-weight:750;font-size:12.5px;}
.dash-view-tabs a:hover{color:#3a4ddc;}
.dash-view-tabs a.active{color:#3948d1;}
.dash-view-tabs a.active:after{content:"";position:absolute;height:3px;border-radius:5px 5px 0 0;background:#5767f3;bottom:-1px;left:10px;right:10px;}
.dash-filters{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px;}
.dash-range-tabs{display:flex;flex-wrap:wrap;gap:4px;background:#ebeff5;border-radius:10px;padding:4px;}
.dash-range-tabs a{display:block;border-radius:8px;padding:8px 13px;font-size:11.5px;font-weight:750;color:#738095;white-space:nowrap;}
.dash-range-tabs a:hover{color:#4350dc;}
.dash-range-tabs a.active{color:#3041ce;background:#fff;box-shadow:0 2px 7px rgba(20,32,52,.07);}
.dash-range-label{display:flex;gap:10px;align-items:center;font-variant-numeric:tabular-nums;}
.dash-range-label strong{font-size:12px;color:#4a566b;white-space:nowrap;}
.dash-range-label a{width:30px;height:30px;display:grid;place-items:center;background:#fff;border:1px solid #e2e7ef;color:#5a6680;border-radius:8px;font-size:21px;}
.dash-range-label a:hover{background:#edf0ff;color:#4451e4;}
.dash-custom-range{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid var(--d-line);border-radius:12px;padding:12px;margin-bottom:15px;}
.dash-custom-range label{display:grid;gap:5px;font-size:11px;font-weight:750;color:#66758c;}
.dash-area{margin:0 0 18px;}
.dash-heading{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:17px 0 10px;}
.dash-heading h2{font-size:17px;letter-spacing:-.02em;line-height:1.35;margin:0;font-weight:800;}
.dash-heading p{font-size:11.5px;line-height:1.4;margin:0;color:var(--d-muted);}
.dash-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:11px;}
.dash-kpi{min-width:0;border:1px solid var(--d-line);background:#fff;border-radius:14px;padding:14px 16px;box-shadow:var(--d-shadow);position:relative;overflow:hidden;}
.dash-kpi:before{content:"";height:3px;width:32px;position:absolute;top:0;left:17px;border-radius:0 0 6px 6px;background:#dce2eb;}
.dash-tone-blue:before{background:#5869ed;}
.dash-tone-success:before{background:#14a86c;}
.dash-tone-danger:before{background:#df4b56;}
.dash-tone-warning:before{background:#ea8d26;}
.dash-kpi-label{font-size:11.5px;color:#718096;font-weight:650;margin-bottom:6px;}
.dash-kpi-value{display:block;font-size:clamp(19px,1.65vw,25px);font-weight:825;letter-spacing:-.03em;line-height:1.17;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;}
.dash-tone-success .dash-kpi-value{color:#13845d;}
.dash-tone-danger .dash-kpi-value{color:#d04752;}
.dash-tone-blue .dash-kpi-value{color:#3d4dd5;}
.dash-tone-warning .dash-kpi-value{color:#a86b20;}
.dash-kpi small{display:block;font-size:10.5px;color:#9099a9;line-height:1.25;margin-top:7px;}
.dash-chart-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:11px;margin-bottom:11px;}
.dash-card{background:#fff;border:1px solid var(--d-line);border-radius:15px;box-shadow:var(--d-shadow);padding:16px 17px;min-width:0;}
.dash-card-header{margin-bottom:13px;}
.dash-card-header h3{font-size:14px;letter-spacing:-.01em;font-weight:800;margin:0 0 4px;}
.dash-card-header p{font-size:11px;color:var(--d-muted);margin:0;line-height:1.35;}
.dash-chart-scroll{width:100%;overflow-x:auto;scrollbar-width:thin;}
.dash-bars{height:196px;display:grid;grid-template-columns:repeat(var(--dash-count),minmax(44px,1fr));gap:5px;min-width:max(100%,calc(var(--dash-count)*44px));border-bottom:1px solid #e7eaf1;margin:6px 0 10px;padding:7px 0 0;background-image:repeating-linear-gradient(to top,transparent 0,transparent calc(25% - 1px),#f0f2f6 calc(25% - 1px),#f0f2f6 25%);background-size:100% calc(100% - 24px);background-repeat:no-repeat;}
.dash-bar-group{min-width:0;display:flex;flex-direction:column;align-items:stretch;height:100%;}
.dash-bar-stack{display:flex;gap:4px;align-items:stretch;justify-content:center;flex:1;min-height:0;}
.dash-bar-shell{width:min(100%,19px);max-width:21px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;}
.dash-bar{display:block;min-height:0;border-radius:4px 4px 0 0;background:#5361ff;transition:height .2s ease;}
.dash-bar-blue{background:#5a6cf2;}
.dash-bar-green{background:#1bac79;}
.dash-bar-red{background:#e86570;}
.dash-bar-label{text-align:center;height:23px;display:flex;align-items:center;justify-content:center;color:#7b8798;font-size:10px;white-space:nowrap;}
.dash-legend{display:flex;flex-wrap:wrap;gap:12px;color:#748197;font-size:10.5px;margin-top:4px;}
.dash-legend>span{display:inline-flex;align-items:center;gap:5px;}
.dash-key{width:8px;height:8px;border-radius:3px;display:inline-block;background:#5361ff;}
.dash-key-blue{background:#5a6cf2;}
.dash-key-green{background:#1bac79;}
.dash-key-red{background:#e86570;}
.dash-donut-layout{display:grid;grid-template-columns:155px minmax(0,1fr);gap:15px;align-items:center;min-height:197px;}
.dash-donut{width:155px;aspect-ratio:1;background:var(--dash-donut);border-radius:50%;display:grid;place-items:center;}
.dash-donut-hole{width:107px;aspect-ratio:1;background:#fff;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px #eff1f4;}
.dash-donut-hole strong{font-size:28px;letter-spacing:-.04em;line-height:1.1;}
.dash-donut-hole small{font-size:10px;color:#8993a4;margin-top:4px;}
.dash-donut-legend{display:grid;gap:10px;min-width:0;}
.dash-donut-legend>div{display:flex;gap:8px;align-items:center;color:#6f7d92;font-size:11px;}
.dash-donut-legend strong{margin-left:auto;color:#1c2940;font-weight:800;font-variant-numeric:tabular-nums;}
.dash-donut-key{width:9px;height:9px;border-radius:3px;flex:0 0 auto;}
.dash-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.dash-facts>div{padding:11px;background:#f6f8fb;border:1px solid #eff1f6;border-radius:10px;}
.dash-facts span{display:block;color:#7f8a9a;font-size:10px;line-height:1.4;margin-bottom:6px;}
.dash-facts strong{font-size:15px;line-height:1.3;letter-spacing:-.015em;color:#26354e;}
.dash-red{color:#ce4551!important;}
.dash-footnote{margin:12px 0 0!important;font-size:10.5px!important;color:#8995a6!important;line-height:1.5;}
.dash-alerts,.dash-fee-list{display:grid;gap:6px;}
.dash-alert{display:flex;gap:9px;align-items:center;min-width:0;padding:9px 10px;border:1px solid #edf0f5;border-radius:10px;}
.dash-alert>div{min-width:0;flex:1;}
.dash-alert strong{font-size:11.5px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dash-alert small{font-size:10px;color:#8a94a3;margin-top:2px;display:block;}
.dash-alert b{font-size:9.5px;font-weight:800;white-space:nowrap;color:#bd7b1a;}
.dash-alert-dot{width:7px;height:7px;background:#eeb34c;border-radius:50%;flex:0 0 auto;}
.dash-alert-overdue .dash-alert-dot{background:#e35560;}
.dash-alert-overdue b{color:#d1434e;}
.dash-alert-important .dash-alert-dot{background:#e47723;}
.dash-empty{display:flex;min-height:120px;align-items:center;justify-content:center;text-align:center;color:#8e98a9;border:1px dashed #e4e8f0;background:#fafbfc;border-radius:11px;font-size:12px;padding:14px;}
.dash-expenses{display:grid;gap:14px;margin:4px 0;}
.dash-expense>div:first-child{display:flex;justify-content:space-between;gap:8px;font-size:11px;margin-bottom:6px;color:#536177;}
.dash-expense strong{white-space:nowrap;color:#26364d;}
.dash-expense-track{height:6px;background:#eef1f6;border-radius:20px;overflow:hidden;}
.dash-expense-track i{height:100%;border-radius:20px;background:linear-gradient(90deg,#6375eb,#8794f9);display:block;}
.dash-line-wrap{margin:6px 0 0;}
.dash-line-wrap svg{width:100%;height:160px;display:block;}
.dash-line-labels{display:flex;justify-content:space-between;gap:2px;color:#788496;font-size:10px;overflow:hidden;}
.dash-line-labels span{flex:1;min-width:0;text-align:center;}
.dash-fee-list>div{padding:9px 0;border-bottom:1px solid #eff1f5;display:flex;justify-content:space-between;gap:10px;align-items:center;}
.dash-fee-list>div:last-child{border-bottom:0;}
.dash-fee-list span strong{display:block;font-size:11.5px;line-height:1.35;}
.dash-fee-list span small{color:#7e8999;display:block;font-size:10px;margin-top:3px;}
.dash-fee-list>div>b{font-size:11.5px;white-space:nowrap;}
.dash-wide-note{margin-top:-3px!important;margin-bottom:8px!important;}
.dash-goal-kpis{grid-template-columns:repeat(4,minmax(0,1fr));}
.dash-goals-card{padding:14px 16px;}
.dash-goals-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
.dash-goal{padding:12px;border:1px solid #e7ebf2;border-radius:11px;min-width:0;}
.dash-goal-main{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;}
.dash-goal-main>div:first-child{min-width:0;flex:1;}
.dash-goal-main strong{font-size:11.8px;line-height:1.35;display:block;margin:5px 0;color:#23324b;}
.dash-goal-main small{font-size:10px;color:#8692a3;}
.dash-priority{font-size:9px;padding:3px 7px;border-radius:30px;background:#eff2f6;color:#6e7b8c;font-weight:800;display:inline-block;}
.dash-priority-important{background:#ffe9eb;color:#be3944;}
.dash-priority-later{background:#f0f2f5;color:#8993a2;}
.dash-goal-percent{font-size:16px;color:#4a58db;font-weight:800;font-variant-numeric:tabular-nums;text-align:right;}
.dash-goal-percent span{display:block;font-size:9px;color:#9ba4b1;font-weight:500;}
.dash-goal-track{height:6px;border-radius:50px;overflow:hidden;background:#eef0f5;margin:10px 0 8px;}
.dash-goal-track i{display:block;height:100%;border-radius:30px;background:linear-gradient(90deg,#5664f1,#1aa971);}
.dash-goal-bottom{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:10.5px;color:#7d8a9d;}
.dash-goal-bottom b{color:#26364c;}
.dash-footer{font-size:10px;color:#9aa3b1;line-height:1.5;margin-top:15px;border-top:1px solid #e7ebf2;padding-top:10px;}
@media (max-width:1350px){.dash-chart-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);}
.dash-donut-layout{grid-template-columns:120px minmax(0,1fr);}
.dash-donut{width:120px;}
.dash-donut-hole{width:82px;}
.dash-kpi-value{font-size:20px;}}
@media (max-width:1100px){.dash-header{align-items:flex-start;}
.dash-select-form{flex-wrap:wrap;}
.dash-chart-grid{grid-template-columns:1fr;}
.dash-kpi-grid,.dash-goal-kpis{grid-template-columns:repeat(3,minmax(0,1fr));}
.dash-donut-layout{grid-template-columns:155px minmax(0,1fr);}
.dash-donut{width:155px;}
.dash-donut-hole{width:107px;}}
@media (max-width:760px){.dash-header{flex-direction:column;}
.dash-select-form{width:100%;}
.dash-filters{flex-direction:column;align-items:stretch;}
.dash-range-tabs{justify-content:space-between;}
.dash-range-tabs a{padding:8px 10px;}
.dash-range-label{justify-content:center;}
.dash-kpi-grid,.dash-goal-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}
.dash-goals-list{grid-template-columns:1fr;}
.dash-heading{display:block;}
.dash-heading p{margin-top:5px;}}
@media (max-width:480px){.dash-heading-major h2{font-size:20px;}
.dash-view-tabs{gap:0;}
.dash-view-tabs a{font-size:11px;padding:9px 8px;}
.dash-kpi{padding:12px;}
.dash-kpi-value{font-size:18px;}
.dash-card{padding:13px;}
.dash-donut-layout{grid-template-columns:115px minmax(0,1fr);gap:10px;}
.dash-donut{width:115px;}
.dash-donut-hole{width:78px;}
.dash-donut-hole strong{font-size:23px;}
.dash-donut-legend>div{font-size:10px;}
.dash-facts{grid-template-columns:1fr;}
.dash-range-tabs a{padding:8px;font-size:10.5px;}}
.dash-green{color:#12875a!important;}
.dash-detail-table{background:#fff;border:1px solid #e7ebf2;border-radius:12px;margin:12px 0;padding:0 13px;}
.dash-detail-table summary{padding:11px 2px;cursor:pointer;font-size:11.5px;font-weight:800;color:#5362d9;}
.dash-detail-table[open] summary{border-bottom:1px solid #eef1f6;}
.dash-table-scroll{overflow:auto;max-height:300px;}
.dash-detail-table table{border-collapse:collapse;width:100%;min-width:420px;font-size:11.5px;font-variant-numeric:tabular-nums;}
.dash-detail-table th,.dash-detail-table td{padding:9px 10px;text-align:right;border-bottom:1px solid #eef1f5;}
.dash-detail-table th:first-child,.dash-detail-table td:first-child{text-align:left;}
.dash-detail-table thead th{position:sticky;top:0;background:#fafbfe;color:#62718a;z-index:1;}
.dash-detail-table tbody th{font-weight:650;color:#647289;}
.dash-overload{padding:10px 11px;margin-top:12px;border:1px solid #f1d6bc;background:#fff9f0;border-radius:10px;}
.dash-overload>strong{font-size:10.5px;color:#a26525;display:block;margin-bottom:7px;}
.dash-overload>div{display:flex;align-items:center;gap:10px;font-size:10.5px;padding:5px 0;color:#6b5e52;}
.dash-overload>div span{min-width:78px;}
.dash-overload>div b{font-weight:750;color:#a25b1d;}
.dash-overload>div small{margin-left:auto;color:#b56b2b;font-size:10px;}
.dash-today-panel{background:#fff;border:1px solid #e6ebf2;border-radius:14px;box-shadow:0 7px 25px rgba(21,36,59,.045);padding:14px 16px;margin-bottom:18px;}
.dash-today-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;}
.dash-today-head h3{margin:0;font-size:13.5px;font-weight:800;}
.dash-today-head p{margin:3px 0 0;font-size:10.5px;color:#8490a1;}
.dash-today-head a{font-size:11px;font-weight:750;white-space:nowrap;color:#485ade;}
.dash-today-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 14px;}
.dash-today-item{min-width:0;display:flex;align-items:center;gap:9px;border-bottom:1px solid #f0f2f5;padding:9px 0;}
.dash-today-time{font-variant-numeric:tabular-nums;color:#4353d2;background:#f0f2ff;font-size:11px;padding:5px 7px;border-radius:6px;font-weight:850;}
.dash-today-item strong{font-size:11.5px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;}
.dash-today-status{font-size:9.5px;font-weight:750;background:#f0f2f5;color:#7e8999;border-radius:20px;padding:4px 7px;white-space:nowrap;}
.dash-today-status.is-done{color:#148155;background:#e7f8f0;}
.dash-today-status.is-doing{color:#4355d4;background:#edf0ff;}
.dash-today-empty{font-size:11.5px;color:#8e98a6;padding:8px 0 4px;}
@media (max-width:840px){.dash-today-list{grid-template-columns:1fr;}}
/* ===== v18.css ===== */
body.troly-app{-webkit-font-smoothing:antialiased;}
body.troly-app .panel,body.troly-app .stat{border-color:var(--v18-border);border-radius:15px;box-shadow:var(--v18-shadow);}
body.troly-app .topbar h1{line-height:1.25;}
body.troly-app .sidebar nav.v13-sidebar-nav a,body.troly-app .v13-nav-group summary{font-size:13px;min-height:39px;line-height:1.35;}
body.troly-app .sidebar nav.v13-sidebar-nav .v13-subnav a{font-size:12.5px;min-height:36px;padding:8px 10px;}
body.troly-app .sidebar .brand small,body.troly-app .sidebar-user small{font-size:11px;overflow-wrap:anywhere;}
body.troly-app .sidebar .logout{font-size:12.5px;}
body.troly-app .topbar .icon-btn{min-height:40px;font-size:18px;}
body.troly-app a{transition:background-color .14s ease,border-color .14s ease;}
body.troly-app a:focus-visible,body.troly-app button:focus-visible,body.troly-app input:focus-visible,body.troly-app select:focus-visible,body.troly-app textarea:focus-visible,body.troly-app summary:focus-visible{outline:3px solid #7294f1;outline-offset:2px;}
body.troly-app .btn,body.troly-app button,body.troly-app input,body.troly-app select,body.troly-app textarea{font-family:inherit;}
body.troly-app .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;text-align:center;}
body.troly-app .stack label,body.troly-app .task-form label,body.troly-app .v16-quick-form label,body.troly-app .v16-session-edit label{font-size:13px;line-height:1.45;color:#34465c;gap:6px;}
body.troly-app .stack input:not([type=checkbox]):not([type=radio]),body.troly-app .stack select,body.troly-app .stack textarea,body.troly-app .task-form input:not([type=checkbox]),body.troly-app .task-form select,body.troly-app .task-form textarea,body.troly-app .v16-quick-form input,body.troly-app .v16-quick-form select,body.troly-app .v16-quick-form textarea{min-height:41px;font-size:14px;line-height:1.45;border-radius:10px;border-color:#d5dfe9;}
body.troly-app textarea{resize:vertical;min-height:72px;}
body.troly-app .panel h2{font-size:18px;letter-spacing:-.02em;}
body.troly-app .simple-row small,body.troly-app .calendar-row small{font-size:12px;}
body.troly-app .v13-event-mark{font-size:15px;}
body.troly-app .v13-footnote,body.troly-app .v13-reports-title p{font-size:12px!important;line-height:1.55!important;}
body.troly-app .v13-reports-title{display:none;}
.v18-deep-reports{margin:18px auto 20px;max-width:1640px;background:#fff;border:1px solid var(--v18-border);border-radius:15px;overflow:hidden;box-shadow:var(--v18-shadow);}
.v18-deep-reports>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:16px 20px;gap:16px;min-height:70px;background:#fff;color:#21324a;}
.v18-deep-reports>summary::-webkit-details-marker{display:none;}
.v18-deep-reports>summary strong{display:block;font-size:15px;line-height:1.3;}
.v18-deep-reports>summary small{display:block;margin-top:4px;font-size:12.5px;color:#62728a;line-height:1.45;}
.v18-chevron{font-size:22px;line-height:1;color:#5369ab;transition:transform .2s;}
.v18-deep-reports[open] .v18-chevron{transform:rotate(180deg);}
.v18-deep-reports[open]>summary{border-bottom:1px solid #e8edf3;background:#f9fbff;}
.v18-deep-body{padding:17px;min-width:0;}
.v18-deep-body>.panel,.v18-deep-body>.stats{margin-bottom:14px;}
body.troly-app .task-card .badge{font-size:11px;line-height:1.2;padding:4px 7px;}
body.troly-app .task-card .metric{padding:9px 10px;}
body.troly-app .task-card .metric span{font-size:11px;letter-spacing:.015em;line-height:1.3;}
body.troly-app .task-card .metric strong{font-size:12.5px;line-height:1.45;}
body.troly-app .task-card .metric.schedule strong{font-size:12.5px;}
body.troly-app .task-card .card-actions a,body.troly-app .task-card .card-actions button{min-width:34px;width:34px;min-height:34px;height:34px;border:1px solid #e8edf4;}
body.troly-app .task-card .steps summary{font-size:12.5px;min-height:36px;}
body.troly-app .task-card .step-row{font-size:13px;min-height:38px;grid-template-columns:30px minmax(0,1fr) 30px;}
body.troly-app .task-card .check,body.troly-app .task-card .step-delete{width:28px;height:28px;font-size:14px;}
body.troly-app .task-card .add-step input{font-size:13px;min-height:37px;}
body.troly-app .v4-timer-status{font-size:12px;}
body.troly-app .v4-fee-row small,body.troly-app .v4-pay-form label,body.troly-app .v4-good,body.troly-app .v4-danger{font-size:12px;}
body.troly-app .v4-table{font-size:13px;}
body.troly-app .v4-table th,body.troly-app .v4-table td{padding:11px 13px;}
body.troly-app[data-density="ultra"] .task-card h3{font-size:14px;}
body.troly-app[data-density="ultra"] .task-card .metric span{font-size:11px;}
body.troly-app[data-density="ultra"] .task-card .metric strong{font-size:12px;}
body.troly-app .v13-calendar{padding:18px!important;}
body.troly-app .v13-week-grid{gap:8px;}
body.troly-app .v13-day{min-height:200px;}
body.troly-app .v13-day header small{font-size:11px;}
body.troly-app .v13-day header>span{font-size:11px;}
body.troly-app .v13-day .v13-event{min-height:45px;grid-template-columns:23px minmax(0,1fr);}
body.troly-app .v13-day .v13-event-mark{font-size:12px;}
body.troly-app .v13-day .v13-event-copy small,body.troly-app .v13-day .v13-event-time{line-height:1.35;}
body.troly-app .v13-week-empty{font-size:12px;}
body.troly-app .v13-advanced>summary{font-size:13px;}
.v18-day-picker{display:none;}
body.troly-app .v16-modal{border-radius:16px;padding:23px;width:min(570px,calc(100vw - 24px));max-height:calc(100dvh - 28px);overscroll-behavior:contain;}
body.troly-app .v16-modal-header h2{font-size:20px;}
body.troly-app .v16-quick-form label,body.troly-app .v16-session-edit label{font-size:13px;}
body.troly-app .v16-quick-form input,body.troly-app .v16-quick-form select,body.troly-app .v16-quick-form textarea,body.troly-app .v16-session-edit input,body.troly-app .v16-session-edit textarea{font-size:14px;min-height:42px;}
body.troly-app .v16-helper,body.troly-app .v16-modal-tip{font-size:12px;}
body.troly-app .v16-sessions-toggle{font-size:14px;}
body.troly-app .v16-sessions-toggle span:last-child{font-size:12px;}
body.troly-app .v16-active-title span{font-size:11px;letter-spacing:.04em;}
body.troly-app .v16-active-title strong{font-size:14px;}
body.troly-app .v16-session-item>summary{font-size:13px;}
body.troly-app .reminder-pop{max-height:calc(100dvh - 25px);overflow-y:auto;}
.v18-confirm-dialog{width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow-y:auto;border:1px solid #dce5f1;border-radius:18px;padding:23px;background:#fff;box-shadow:0 24px 80px rgba(10,29,52,.24);color:#20314b;}
.v18-confirm-dialog::backdrop{background:rgba(10,21,38,.6);}
.v18-confirm-symbol{display:grid;place-items:center;font-weight:850;color:#946127;background:#fff0d9;width:38px;height:38px;border-radius:11px;font-size:19px;}
.v18-confirm-dialog h2{font-size:19px;line-height:1.25;margin:13px 0 7px;}
.v18-confirm-dialog p{font-size:14px;color:#5b6b80;line-height:1.65;margin:0;white-space:pre-line;}
.v18-confirm-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:22px;flex-wrap:wrap;}
.v18-confirm-actions .btn{min-width:104px;}
.v18-toast{position:fixed;z-index:999999;top:14px;left:50%;transform:translateX(-50%);background:#1d304b;color:#fff;padding:12px 18px;border-radius:12px;max-width:calc(100vw - 28px);font-size:13px;box-shadow:0 12px 35px #0e234543;}
.v18-toast[hidden]{display:none;}
.v18-bottom-nav{display:none;}
@media (max-width:1250px){body.troly-app .v13-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}
body.troly-app .v13-columns{grid-template-columns:1fr;}
body.troly-app .v13-week-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media (max-width:980px){body.troly-app .v13-week-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
body.troly-app .v13-kpi{min-height:115px;}}
@media (max-width:820px){body.troly-app .topbar{height:64px!important;}
body.troly-app .v13-menu-button{min-height:40px;min-width:40px;}
body.troly-app .v13-page-head{gap:11px;}
body.troly-app .v13-head-links{gap:8px;}
body.troly-app .v13-week-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
body.troly-app .sidebar nav.v13-sidebar-nav a,body.troly-app .v13-nav-group summary{font-size:13.5px!important;min-height:41px;}
body.troly-app .v16-active-bar{margin:8px 12px 0;}
body.troly-app .main{padding-bottom:0!important;}
body.troly-app .v13-core-panel{padding:15px!important;}}
@media (max-width:720px){.v18-day-picker{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:14px 0;}
.v18-day-option{appearance:none;border:1px solid #e0e7f0;background:#f8fafc;border-radius:11px;cursor:pointer;color:#5d6e86;min-height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px 2px;}
.v18-day-option span{font-size:11px;line-height:1.1;}
.v18-day-option strong{font-size:15px;line-height:1.2;}
.v18-day-option.is-selected{border-color:#7287e3;background:#eaf0ff;color:#263fa7;box-shadow:inset 0 0 0 1px #7287e3;}
body.troly-app .v13-week-grid{grid-template-columns:1fr!important;}
body.troly-app.v18-calendar-enhanced .v13-week-grid .v13-day:not(.v18-day-selected){display:none;}
body.troly-app .v13-day{min-height:110px;padding:14px!important;}
body.troly-app .v13-day header strong{font-size:17px;}
body.troly-app .v13-day .v13-event{grid-template-columns:31px minmax(0,1fr);gap:10px;min-height:55px;padding:9px 11px;}
body.troly-app .v13-day .v13-event-mark{height:30px;width:30px;min-width:30px;font-size:14px;}
body.troly-app .v13-day .v13-event-copy strong{font-size:14px;}
body.troly-app .v13-day .v13-event-copy small,body.troly-app .v13-day .v13-event-time{font-size:12px;}
body.troly-app .v13-legend{gap:9px;font-size:12px;}
body.troly-app .v13-kpis{gap:9px;}
body.troly-app .v13-kpi{padding:13px;min-height:119px;}
body.troly-app .v13-kpi span{font-size:12px;}
body.troly-app .v13-kpi strong{font-size:clamp(18px,4vw,22px);}
body.troly-app .v13-kpi small{font-size:11.5px;}
body.troly-app .v13-core-panel h3{font-size:15.5px;}
body.troly-app .v13-event-copy strong{font-size:13.5px;}
body.troly-app .v13-event-copy small,body.troly-app .v13-event-time{font-size:11.5px;}
body.troly-app .v13-event-time{max-width:90px;}
body.troly-app .task-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}
body.troly-app .task-card .metric.schedule{grid-column:1/-1;}
.v18-bottom-nav{display:grid;position:fixed;bottom:0;left:0;right:0;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;align-items:stretch;padding:5px 5px calc(5px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid #e0e6ef;box-shadow:0 -4px 18px rgba(20,37,60,.07);z-index:55;}
.v18-bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:5px 1px 3px;min-height:52px;min-width:0;text-decoration:none;background:transparent;border:0;border-radius:9px;color:#65748a;font-size:10.5px;font-weight:720;cursor:pointer;line-height:1.25;}
.v18-bottom-nav span{font-size:22px;line-height:1.15;font-weight:650;}
.v18-bottom-nav .v41-nav-label{font-size:11px;line-height:1.15;text-align:center;min-height:24px;display:flex;align-items:center;}
.v18-bottom-nav .active{background:#edf1ff;color:#3045b3;}
body.troly-app .v16-modal{padding:16px;width:calc(100vw - 18px);max-height:calc(100dvh - 18px);}
body.troly-app .v16-modal-close{width:40px;height:40px;}
body.troly-app .reminder-pop{top:8px;}
body.troly-app .v18-deep-body{padding:11px;}}
@media (max-width:400px){body.troly-app .content{padding-left:9px!important;padding-right:9px!important;}
body.troly-app .v13-kpi{padding:12px 10px;}
body.troly-app .v13-kpi strong{font-size:17px;}
body.troly-app .v13-head-links .btn{font-size:12px;}
body.troly-app .v13-event-time{max-width:73px;}
body.troly-app .v13-day .v13-event-time{max-width:none;}}
body.troly-app .v5-summary small,body.troly-app .v5-day-caption,body.troly-app .v5-day-task time,body.troly-app .v5-day-task span,body.troly-app .v5-tag,body.troly-app .v5-footnote{font-size:12px;}
body.troly-app .v6-overline,body.troly-app .v6-metric>span,body.troly-app .v6-metric small,body.troly-app .v6-forecast-cell span,body.troly-app .v6-forecast-cell small,body.troly-app .v6-comparison span,body.troly-app .v6-chart-point>span,body.troly-app .v6-chart-point>small,body.troly-app .v6-note,body.troly-app .v6-table th{font-size:12px;}
body.troly-app .v7-overline,body.troly-app .v7-kpis span,body.troly-app .v7-panel-head p,body.troly-app .v7-person-copy small,body.troly-app .v7-person-header p,body.troly-app .v7-score-explain>span,body.troly-app .v7-score-explain p{font-size:12px;}
body.troly-app .v7-form label,body.troly-app .v7-rule-edit label,body.troly-app .v7-archived summary{font-size:13px;}
body.troly-app .v8-eyebrow,body.troly-app .v8-hero .v8-eyebrow,body.troly-app .v8-hero-aside span,body.troly-app .v8-hero-aside small,body.troly-app .v8-metrics span,body.troly-app .v8-metrics small,body.troly-app .v8-panel-title>div>span,body.troly-app .v8-focus-row small{font-size:12px;}
body.troly-app .v9-eyebrow,body.troly-app .v9-category,body.troly-app .v9-pin-label,body.troly-app .v9-note-open small,body.troly-app .v9-note-tags span,body.troly-app .v9-note-footer small,body.troly-app .v9-inbox-meta,body.troly-app .v9-editor-body label>span,body.troly-app .v9-save-status{font-size:12px;}
body.troly-app .v11-chip,body.troly-app .v11-search-result small,body.troly-app .v11-type,body.troly-app .v11-event p,body.troly-app .v11-event details{font-size:12px;}
body.troly-app .tl12-eyebrow,body.troly-app .tl12-summary span,body.troly-app .tl12-cats-title,body.troly-app .tl12-cats>a b,body.troly-app .tl12-tabs a{font-size:12px;}
body.troly-app .v14-eyebrow,body.troly-app .v14-kpi span,body.troly-app .v14-kpi small,body.troly-app .v14-panel-head small,body.troly-app .v14-footnote,body.troly-app .v14-hint,body.troly-app .v14-scope-row small,body.troly-app .v14-forecast-row span{font-size:12px;}
body.troly-app .v14-filters label{font-size:13px;}
body.troly-app .content,body.troly-app .panel,body.troly-app .v18-deep-body{min-width:0;}
body.troly-app .panel table{max-width:100%;}
body.troly-app .panel .v4-table-scroll{overflow-x:auto;overscroll-behavior-x:contain;}
body.troly-app .v13-sidebar-nav a,body.troly-app .v13-head-links a,body.troly-app .v16-modal-shortcuts a{touch-action:manipulation;}
@media (max-width:720px){body.troly-app .v14-kpi strong{overflow-wrap:anywhere;}
body.troly-app .v9-note-tags,body.troly-app .tl12-tabs{flex-wrap:wrap;}
body.troly-app .v16-quick-open{min-width:40px;min-height:40px;}
body.troly-app .v18-confirm-dialog{padding:18px;}
body.troly-app .v18-confirm-actions{display:grid;grid-template-columns:1fr 1fr;}
body.troly-app .v18-confirm-actions .btn{min-width:0;}}
@media (max-width:720px){body.troly-app .topbar .top-actions .v16-quick-open,body.troly-app .topbar .top-actions .avatar{display:none!important;}
body.troly-app .v13-heading{min-width:0;flex:1;}
body.troly-app .v13-heading>div{min-width:0;}
body.troly-app .v13-heading h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body.v13-menu-open{overflow:hidden;}}
/* ===== v19.css ===== */
.v19-action-status{position:fixed;z-index:13000;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translateX(-50%);background:#162c35;color:#fff;box-shadow:0 10px 34px #122c3a30;border-radius:12px;padding:12px 18px;max-width:min(560px,calc(100vw - 24px));font-size:14px;line-height:1.5;text-align:center;}
.v19-action-status.v19-failed{background:#8e2930;}
.v19-audit{margin-top:20px;}
.v19-audit-list{display:grid;gap:8px;}
.v19-audit-item{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid #dfe5eb;border-radius:12px;padding:13px 15px;}
.v19-audit-item strong{display:block;font-size:14px;}
.v19-audit-item p{font-size:12px;line-height:1.55;color:var(--muted,#566574);margin:5px 0 0;}
.v19-audit-item span{flex:none;font-weight:700;font-size:13px;text-align:center;padding:6px 9px;border-radius:8px;}
.v19-audit-item .v19-warn{color:#a23b2a;background:#fce9e4;}
.v19-audit-item .v19-neutral{color:#255568;background:#e9f2f5;}
.v19-audit-note{font-size:12px;color:var(--muted,#566574);margin:14px 0 0;line-height:1.6;}
.task-card [aria-busy="true"]{opacity:.58;cursor:wait;}
@media (max-width:720px){.v19-audit-item{align-items:flex-start;flex-wrap:wrap;}
.v19-audit-item span{margin-left:auto;}
.v19-action-status{bottom:calc(85px + env(safe-area-inset-bottom));font-size:13px;}}
/* ===== v20.css ===== */
.v20-page,.v20-projects-page{max-width:1480px;min-width:0;}
.v20-hero{background:linear-gradient(113deg,#12314d,#174a66);color:#fff;border-radius:20px;padding:clamp(22px,3vw,32px);display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px;box-shadow:0 14px 35px #123c5622;}
.v20-hero .v20-eyebrow{display:block;letter-spacing:.10em;font-size:12px;font-weight:800;color:#c6e1ef;margin-bottom:10px;}
.v20-hero h2{color:#fff;font-size:clamp(22px,2vw,30px);margin:0 0 9px;line-height:1.3;}
.v20-hero p{color:#e0edf5;line-height:1.65;margin:0;max-width:690px;font-size:14px;}
.v20-hero .btn{white-space:nowrap;background:#fff;color:#134160;border-color:#fff;flex:none;}
.v20-section{padding:22px;border:1px solid #dfe7eb;border-radius:18px;background:#fff;margin-bottom:18px;box-shadow:0 3px 16px #0b344409;min-width:0;}
.v20-section-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:18px;}
.v20-section h2,.v20-section h3{margin:0 0 7px;color:#17364d;line-height:1.4;font-size:19px;}
.v20-section-heading p{margin:0;color:#5b7180;font-size:13px;line-height:1.65;}
.v20-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.v20-step{display:grid;grid-template-columns:36px minmax(0,1fr);gap:5px 11px;text-decoration:none;color:#16394b!important;border:1px solid #dde7ee;border-radius:14px;padding:15px;background:#f9fcfd;transition:border-color .15s,transform .15s,box-shadow .15s;min-width:0;}
.v20-step:hover,.v20-step:focus-visible{border-color:#5f9ebf;transform:translateY(-2px);box-shadow:0 8px 20px #1b587318;}
.v20-step-index{grid-column:1/-1;font-weight:800;color:#54809b;font-size:12px;letter-spacing:.12em;}
.v20-step-icon{font-size:23px;border-radius:10px;background:#e6f1f6;width:34px;height:34px;display:flex;justify-content:center;align-items:center;}
.v20-step-copy strong{display:block;font-size:14px;line-height:1.5;}
.v20-step-copy small{display:block;font-size:12px;color:#58707e;line-height:1.55;margin:5px 0;}
.v20-step-copy em{font-style:normal;font-weight:700;font-size:12px;color:#286c93;}
.v20-filter{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin-bottom:16px;}
.v20-filter label{display:flex;flex-direction:column;gap:5px;font-size:13px;color:#4f6675;min-width:170px;}
.v20-filter input,.v20-filter select{min-height:42px;max-width:100%;border:1px solid #cddbe3;border-radius:10px;padding:8px 11px;color:#163b51;background:#fff;font:inherit;}
.v20-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:15px 0;}
.v20-metric{padding:17px;border:1px solid #dce8ed;border-radius:13px;background:#f7fafc;min-width:0;border-top:3px solid #96bacd;}
.v20-metric.work{border-top-color:#bd8242;}
.v20-metric.living{border-top-color:#527fb0;}
.v20-metric.positive{border-top-color:#2d9072;}
.v20-metric span,.v20-overview span{display:block;color:#506a79;font-size:12px;line-height:1.5;margin-bottom:7px;}
.v20-metric strong,.v20-overview strong{font-size:clamp(17px,1.6vw,23px);font-weight:800;color:#16374b;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;}
.v20-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0;}
.v20-overview>div{background:#eff5f8;border:1px solid #d9e6ee;border-radius:12px;padding:14px;}
.v20-note{background:#f4f8fa;color:#506777;border-left:3px solid #8bb3c9;padding:12px 14px;font-size:12px;line-height:1.65;border-radius:8px;margin:15px 0 0;}
.v20-note a{font-weight:700;color:#166284;}
.v20-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.v20-project{border:1px solid #dfe7eb;border-radius:14px;padding:16px;background:#fbfdfe;min-width:0;}
.v20-project header{display:flex;justify-content:space-between;align-items:start;gap:10px;margin-bottom:15px;}
.v20-project header strong{font-size:15px;color:#173c4f;}
.v20-project header a{flex:none;font-size:12px;color:#276b8e;text-decoration:none;}
.v20-project-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.v20-project-metrics>div{padding:9px 10px;border:1px solid #e0e9ed;border-radius:9px;background:#fff;min-width:0;}
.v20-project-metrics span{color:#697d87;font-size:12px;display:block;margin-bottom:4px;}
.v20-project-metrics b{font-size:14px;color:#24485b;overflow-wrap:anywhere;}
.v20-positive{color:#158369!important;}
.v20-project-caution{font-size:12px;color:#586b76;line-height:1.6;margin:12px 0 0;}
.v20-value-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px;align-items:end;border-top:1px solid #e0e8ed;margin-top:14px;padding-top:14px;}
.v20-value-form label{font-size:12px;display:grid;gap:5px;color:#546b7b;min-width:0;}
.v20-value-form input{width:100%;min-width:0;max-width:100%;min-height:40px;padding:9px;border:1px solid #cfdce3;border-radius:9px;font:inherit;font-size:13px;}
.v20-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px;}
.v20-details>div{border-radius:12px;padding:16px;background:#f4f8fa;border:1px solid #e0e8ee;}
.v20-details h4{color:#22495d;font-size:15px;margin:0 0 8px;}
.v20-details p{font-size:13px;line-height:1.65;color:#587181;margin:0 0 10px;}
.v20-details strong{font-size:21px;color:#193e52;}
.v20-breakdown{display:grid;gap:7px;margin:10px 0 16px;}
.v20-breakdown>div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #e7edf1;padding:9px 0;font-size:13px;color:#435d6d;}
.v20-breakdown strong{white-space:nowrap;color:#1b4356;}
.v20-guideline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.v20-guideline-grid p{background:#f4f8fa;padding:13px;border-radius:11px;font-size:13px;line-height:1.65;color:#536b79;margin:0;}
.v20-guidelines>a{margin-top:16px;}
.v20-empty{color:#6d8290;font-size:14px;padding:18px;border:1px dashed #cfdae1;border-radius:10px;}
.v20-tx-list{display:grid;gap:12px;}
.v20-tx-card{border:1px solid #e1e8eb;border-radius:13px;padding:14px;background:#fafcfd;min-width:0;}
.v20-tx-head{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:11px;}
.v20-tx-head strong{display:block;font-size:14px;line-height:1.5;color:#17384a;}
.v20-tx-head small{display:block;font-size:12px;color:#667b89;line-height:1.6;margin-top:4px;}
.v20-tx-head b{font-size:15px;white-space:nowrap;color:#9b4e30;font-variant-numeric:tabular-nums;}
.v20-tx-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:end;}
.v20-tx-form .v20-classify-fields{margin:0;border:0;background:transparent;padding:0;}
.v20-classify-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:start;background:#f5f9fb;border:1px solid #e0e8ee;border-radius:12px;padding:14px;min-width:0;}
.v20-classify-fields label{display:grid;gap:5px;color:#536c7d;font-size:12px;min-width:0;}
.v20-classify-fields select{width:100%;min-width:0;max-width:100%;min-height:43px;padding:8px;border:1px solid #cbdbe3;border-radius:9px;background:#fff;color:#173e54;font-size:13px;}
.v20-classify-fields label[hidden]{display:none!important;}
.v20-field-hint{grid-column:1/-1;font-size:12px!important;line-height:1.55;color:#668091;margin:0!important;}
.v20-soft-label{font-size:12px;color:#6d8493;}
.v20-subtitle{font-size:15px!important;margin-top:16px!important;}
@media (max-width:1100px){.v20-steps{grid-template-columns:repeat(2,minmax(0,1fr));}
.v20-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}
.v20-value-form{grid-template-columns:repeat(2,minmax(0,1fr));}
.v20-value-form .btn{grid-column:1/-1;}}
@media (max-width:740px){.v20-hero{display:grid;gap:15px;border-radius:15px;}
.v20-hero .btn{justify-self:start;}
.v20-section{padding:15px;border-radius:14px;}
.v20-steps{grid-template-columns:1fr;}
.v20-overview{grid-template-columns:1fr;}
.v20-project-grid,.v20-details,.v20-guideline-grid{grid-template-columns:1fr;}
.v20-classify-fields{grid-template-columns:1fr;}
.v20-tx-form{grid-template-columns:1fr;}
.v20-tx-form>.btn{justify-self:start;}
.v20-tx-head{flex-wrap:wrap;}
.v20-value-form{grid-template-columns:1fr;}
.v20-value-form .btn{grid-column:auto;}
.v20-metric{padding:12px;}
.v20-metric strong{font-size:18px;}}
@media (max-width:390px){.v20-metrics{grid-template-columns:1fr;}
.v20-filter label{width:100%;}
.v20-filter .btn{width:100%;}}
/* ===== v21.css ===== */
:root{--v18-shadow:0 2px 12px rgba(27,48,66,.045);}
html{color-scheme:light;}
body.troly-app{letter-spacing:0;--wp--preset--color--primary:var(--t21-primary);}
body.troly-app .content{margin:0 auto;}
.t21-icon{width:19px;height:19px;display:inline-block;vertical-align:-.18em;stroke-width:1.85;flex-shrink:0;overflow:visible;}
.t21-skip{position:fixed;left:12px;top:-60px;z-index:999999;padding:11px 16px;border-radius:10px;background:var(--t21-deep);color:#fff;text-decoration:none;}
.t21-skip:focus{top:12px;}
body.troly-app .sidebar{z-index:19;}
body.troly-app .brand{align-items:center;}
body.troly-app .brand-mark{letter-spacing:-.08em;}
body.troly-app .brand small{margin-top:5px;letter-spacing:0;font-weight:400;}
body.troly-app .sidebar nav.v13-sidebar-nav{padding-bottom:14px;}
body.troly-app .sidebar nav.v13-sidebar-nav>a{min-height:44px;padding:10px 12px;font-size:13px!important;font-weight:650;background:transparent;color:#CCD8E3;border:1px solid transparent;position:relative;}
body.troly-app .sidebar nav.v13-sidebar-nav>a:hover{background:#243D53;color:#fff;}
body.troly-app .sidebar nav.v13-sidebar-nav>a.active{background:#304B62;color:#fff;border-color:#426077;}
body.troly-app .sidebar nav.v13-sidebar-nav>a.active::before,body.troly-app .v13-subnav>a.active::before{content:"";position:absolute;left:0;top:24%;height:52%;width:3px;background:#9DB5C8;border-radius:0 2px 2px 0;}
body.troly-app .sidebar nav.v13-sidebar-nav .nav-dot{width:22px;min-width:22px;height:22px;display:grid;place-items:center;color:#AFBFCF;font-size:unset;}
body.troly-app .sidebar nav.v13-sidebar-nav a:hover .nav-dot,body.troly-app .sidebar nav.v13-sidebar-nav a.active .nav-dot{color:#fff;}
body.troly-app .v13-nav-group{margin-top:4px;}
body.troly-app .v13-nav-group summary{min-height:45px;padding:10px 12px;border-radius:10px;font-size:13px!important;font-weight:660;line-height:1.45;color:#C8D4DF;border:1px solid transparent;}
body.troly-app .v13-nav-group summary:hover,body.troly-app .v13-nav-group[open]>summary{background:#243A50;border-color:#30485B;color:#F3F7FA;}
body.troly-app .v13-nav-chevron{color:#93A8BA;font-size:unset;display:inline-flex;align-items:center;}
body.troly-app .v13-nav-chevron .t21-icon{width:15px;height:15px;}
body.troly-app .v13-subnav{margin:5px 0 8px;padding-left:13px;gap:2px;}
body.troly-app .sidebar nav.v13-sidebar-nav .v13-subnav>a{position:relative;min-height:38px;padding:8px 9px 8px 12px;font-size:12.5px!important;font-weight:520;border-radius:8px;color:#AABBCB;background:transparent;}
body.troly-app .sidebar nav.v13-sidebar-nav .v13-subnav>a:hover{background:#263E53;color:#fff;}
body.troly-app .sidebar nav.v13-sidebar-nav .v13-subnav>a.active{background:#30495E;color:#fff;font-weight:700;}
body.troly-app .v13-subnav .t21-icon{width:16px;height:16px;}
body.troly-app .sidebar-user{gap:10px;min-width:0;}
body.troly-app .sidebar-user strong{font-weight:650;overflow-wrap:anywhere;}
body.troly-app .sidebar-user small{font-size:11px;}
body.troly-app .avatar{background:#3B5870;border:1px solid #4E6B81;color:#fff;font-weight:750;}
body.troly-app .logout{display:flex;align-items:center;gap:9px;padding:10px 8px;margin-top:3px;text-decoration:none;border-radius:8px;font-size:12.5px;}
body.troly-app .logout .t21-icon{width:17px;height:17px;}
body.troly-app .topbar{isolation:isolate;}
body.troly-app .topbar h1{margin-bottom:2px;}
body.troly-app .topbar p{font-weight:480;}
body.troly-app .top-actions{gap:10px;min-width:0;}
body.troly-app .topbar .icon-btn{display:inline-flex;align-items:center;justify-content:center;height:40px;width:40px;min-width:40px;border:1px solid var(--t21-border);cursor:pointer;box-shadow:none;text-decoration:none;}
body.troly-app .topbar .icon-btn .t21-icon{width:19px;height:19px;}
body.troly-app .t21-search-link{display:none!important;}
body.troly-app .avatar.dark{width:38px;height:38px;font-size:13px;}
body.troly-app .v11-topsearch{box-shadow:none;min-width:190px;width:clamp(220px,26vw,345px);}
body.troly-app .v11-topsearch input{background:transparent;min-width:0;}
body.troly-app .v11-topsearch input::placeholder{color:#8492A0;}
body.troly-app .v11-topsearch button{min-width:34px;border:0;background:transparent;cursor:pointer;}
body.troly-app .v11-topsearch .t21-icon{width:18px;height:18px;}
body.troly-app .v16-quick-open{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:8px 14px;font-size:13px;}
body.troly-app .v16-quick-open .t21-icon{width:17px;height:17px;}
body.troly-app .panel,body.troly-app .stat,body.troly-app .v20-section,body.troly-app .v14-panel,body.troly-app .v11-panel{background:#fff;border:1px solid var(--t21-border);border-radius:15px;box-shadow:var(--t21-shadow);}
body.troly-app .panel-head{gap:16px;align-items:center;}
body.troly-app .panel h2,body.troly-app .v20-section h2{font-size:18px;line-height:1.4;letter-spacing:-.018em;color:#23384A;font-weight:730;}
body.troly-app .panel h3,body.troly-app .v20-section h3{color:#23384A;font-weight:720;}
body.troly-app .panel p{line-height:1.62;color:var(--t21-sub);font-size:13px;}
body.troly-app .stat{padding:19px;}
body.troly-app .stat span{color:var(--t21-sub);font-size:13px;}
body.troly-app .stat strong{color:#20364B;font-size:clamp(21px,2vw,27px);font-weight:780;letter-spacing:-.035em;font-variant-numeric:tabular-nums;}
body.troly-app .stat.positive strong{color:#237554;}
body.troly-app .notice{border-radius:11px;line-height:1.55;padding:12px 15px;font-size:13px;box-shadow:none;}
body.troly-app .auto-pill{font-size:12px;font-weight:650;}
body.troly-app .btn{border-radius:10px;min-height:40px;padding:9px 15px;font-size:13px;box-shadow:none;line-height:1.3;text-decoration:none;}
body.troly-app .btn.primary,body.troly-app .btn-primary,body.troly-app button.primary{background:var(--t21-primary);border-color:var(--t21-primary);color:#fff;box-shadow:none;}
body.troly-app .btn.primary:hover,body.troly-app .btn-primary:hover,body.troly-app button.primary:hover{background:var(--t21-primary-hover);border-color:var(--t21-primary-hover);color:#fff;}
body.troly-app .btn.small{min-height:34px;padding:7px 11px;font-size:12.5px;}
body.troly-app :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]),select,textarea){border:1px solid #D6E0E7;border-radius:10px;background-color:#fff;color:#22374B;font-family:inherit;max-width:100%;font-size:14px;line-height:1.42;box-shadow:none;}
body.troly-app :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]),select){min-height:40px;}
body.troly-app :is(input,select,textarea)::placeholder{color:#8492A2;}
body.troly-app :is(input,select,textarea):focus{border-color:#668CA9;box-shadow:0 0 0 3px rgba(62,103,136,.12);outline:none;}
body.troly-app input[type=checkbox],body.troly-app input[type=radio]{accent-color:#294F73;cursor:pointer;}
body.troly-app label{line-height:1.45;}
body.troly-app :is(.stack label,.task-form label,.v14-form label,.v15-form label,.v16-quick-form label,.v20-classify-fields label){color:#405367;font-size:13px;font-weight:600;gap:7px;}
body.troly-app :is(.stack input,.task-form input,.v14-form input,.v15-form input,.v16-quick-form input){min-width:0;}
body.troly-app :is(a,button,summary){-webkit-tap-highlight-color:transparent;}
body.troly-app :is(a,button,summary,input,select,textarea):focus-visible{outline:3px solid var(--t21-ring);outline-offset:2px;}
body.troly-app :is(button,.btn,a){transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease;}
body.troly-app .v13-today{max-width:1580px;margin-inline:auto;}
body.troly-app .v13-eyebrow,body.troly-app .v16-eyebrow{font-size:11px;letter-spacing:.095em;color:#60778A;font-weight:760;}
body.troly-app .v13-page-head{gap:18px;margin-bottom:20px;}
body.troly-app .v13-page-head h2{font-weight:780;letter-spacing:-.035em;margin:6px 0;}
body.troly-app .v13-page-head p{line-height:1.65;}
body.troly-app .v13-head-links{gap:7px;}
body.troly-app .v13-kpis{gap:13px;margin-bottom:17px;}
body.troly-app .v13-kpi{background:#fff;border:1px solid var(--t21-border);border-radius:14px;min-height:130px;position:relative;overflow:hidden;}
body.troly-app .v13-kpi::before{content:"";position:absolute;top:17px;right:17px;border-radius:50%;}
body.troly-app .v13-kpi:hover{background:#FAFCFD;border-color:#BBCFDD;box-shadow:0 4px 15px rgba(32,63,84,.075);}
body.troly-app .v13-kpi span{line-height:1.4;font-weight:650;padding-right:16px;}
body.troly-app .v13-kpi strong{letter-spacing:-.04em;margin:8px 0 5px;font-variant-numeric:tabular-nums;}
body.troly-app .v13-kpi small{line-height:1.4;}
body.troly-app .v13-columns{grid-template-columns:minmax(0,1.32fr) minmax(315px,.9fr);gap:14px;}
body.troly-app .v13-side-stack{gap:14px;}
body.troly-app .v13-core-panel,body.troly-app .v13-nudges{padding:19px 20px!important;border-radius:14px!important;box-shadow:var(--t21-shadow)!important;}
body.troly-app .v13-core-panel h3,body.troly-app .v13-nudges h3{font-size:16px;color:#22384D;letter-spacing:-.02em;}
body.troly-app .v13-panel-heading{border-bottom:1px solid #ECF0F3;padding-bottom:13px;margin-bottom:4px;}
body.troly-app .v13-panel-heading p{color:#6A7D8C;font-size:12px;}
body.troly-app .v13-panel-heading a,body.troly-app .v13-links a,body.troly-app .v13-more{color:var(--t21-primary);font-size:12.5px;font-weight:700;}
body.troly-app .v13-event{border-bottom:1px solid #F0F2F4;gap:12px;padding:11px 3px;min-height:57px;color:#2B3B4E;}
body.troly-app .v13-event:hover,body.troly-app .v13-priority:hover{background:#F7FAFB;}
body.troly-app .v13-event-mark{width:35px;height:35px;min-width:35px;border-radius:10px;display:grid;place-items:center;}
body.troly-app .v13-event-mark .t21-icon{width:18px;height:18px;}
body.troly-app .v13-event.v13-life .v13-event-mark,body.troly-app .v13-event.v13-birthday .v13-event-mark{background:#F6F0E7;color:#8E713E;}
body.troly-app .v13-event-copy strong{font-size:13.5px;color:#293C50;font-weight:685;line-height:1.4;}
body.troly-app .v13-event-copy small,body.troly-app .v13-event-time{font-size:12px;color:#697B8A;font-weight:520;}
body.troly-app .v13-priority{padding:13px 4px;min-height:56px;}
body.troly-app .v13-priority strong{font-size:13.5px;font-weight:690;color:#26394D;}
body.troly-app .v13-priority small{font-size:12px;color:#718295;}
body.troly-app .v13-status{border-radius:7px;font-size:11px;font-weight:680;padding:5px 8px;}
body.troly-app .v13-empty{font-size:13px;color:#768696;padding:25px 12px;}
body.troly-app .v13-footnote{font-size:12px!important;color:#718191!important;line-height:1.6!important;}
body.troly-app .v13-nudges div:not(.v13-links){font-size:13px;color:#516779;}
body.troly-app .v13-nudges div>strong{color:#28445B;font-weight:780;}
body.troly-app .v13-reports-title{border-top:1px solid #E5EBEF;margin-top:23px;padding-top:16px;}
body.troly-app .v13-reports-title h3{font-size:17px;color:#294157;}
body.troly-app .v18-deep-reports{border-radius:13px;border:1px solid #DCE5EB;background:#fff;box-shadow:none;}
body.troly-app .v18-deep-reports>summary{padding:17px 19px;font-size:14px;color:#2A445B;background:#FAFCFD;border-radius:13px;}
body.troly-app .v18-deep-reports>summary:hover{background:#F0F5F7;}
body.troly-app .v18-deep-body{background:#F8FAFB;border-radius:0 0 13px 13px;padding:16px;min-width:0;}
body.troly-app .task-list-wrap{border-radius:15px;padding:14px;}
body.troly-app .task-toolbar{top:83px;border:1px solid #DEE6EC;box-shadow:var(--t21-shadow);border-radius:12px;padding:10px;gap:8px;}
body.troly-app .searchbox{background:#FAFBFC;border-color:#DCE5EB;border-radius:9px;}
body.troly-app .searchbox input{font-size:13px;background:transparent;}
body.troly-app .filters button,body.troly-app .density button{font-size:12px;padding:9px 10px;border-radius:8px;color:#657688;}
body.troly-app .task-list{gap:10px;}
body.troly-app .task-card{border-radius:12px;padding:14px 15px 11px;}
body.troly-app .task-card.priority-important{border-left-color:#B98A53;}
body.troly-app .task-card h3{line-height:1.45;}
body.troly-app .badge{font-size:11px;font-weight:675;line-height:1.35;padding:4px 9px;}
body.troly-app .badge.success{background:#E9F4EC;color:#2B744D;}
body.troly-app .card-actions{gap:7px;}
body.troly-app .card-actions a,body.troly-app .card-actions button{width:36px;height:36px;border-radius:9px;background:#F3F6F8;border:1px solid #E4EAF0;color:#3C5B72;font-size:15px;}
body.troly-app .card-actions a:hover,body.troly-app .card-actions button:hover{background:#E7EEF3;border-color:#C6D8E2;}
body.troly-app .task-metrics{gap:8px;margin-top:11px;}
body.troly-app .metric{border:1px solid #E5EBF0;border-radius:9px;padding:9px 11px;}
body.troly-app .metric span{font-size:10.5px;font-weight:700;letter-spacing:.04em;margin-bottom:4px;}
body.troly-app .metric strong{font-size:12.5px;line-height:1.4;font-weight:680;}
body.troly-app .metric.schedule span{color:#566F81;}
body.troly-app .task-card.state-overdue .metric.schedule{background:#F9EFEF;border-color:#EBCFD0;}
body.troly-app .task-card.state-overdue .metric.schedule span,body.troly-app .task-card.state-overdue .metric.schedule strong{color:#9A464D;}
body.troly-app .task-card.state-doing .metric.schedule span,body.troly-app .task-card.state-doing .metric.schedule strong{color:#94632F;}
body.troly-app .task-card.state-upcoming .metric.schedule{background:#F9F3E8;border-color:#EBDCC3;}
body.troly-app .task-card.state-done_late .metric.schedule,body.troly-app .task-card.state-done_on_time .metric.schedule{background:#EDF6F0;border-color:#D5E8DB;}
body.troly-app .task-card.state-done_late .metric.schedule span,body.troly-app .task-card.state-done_late .metric.schedule strong,body.troly-app .task-card.state-done_on_time .metric.schedule span,body.troly-app .task-card.state-done_on_time .metric.schedule strong{color:#347454;}
body.troly-app .steps{margin-top:11px;padding-top:10px;border-top-color:#EDF1F3;}
body.troly-app .steps summary{font-size:12.5px;color:#53697D;min-height:28px;}
body.troly-app .step-row{min-height:38px;grid-template-columns:29px 1fr 29px;gap:8px;padding:6px 8px;border-radius:8px;font-size:12.5px;}
body.troly-app .check,body.troly-app .step-delete{width:28px;height:28px;border-radius:8px;}
body.troly-app .add-step input{font-size:13px;min-height:38px;}
body.troly-app .v13-calendar{background:#fff;border-radius:15px;}
body.troly-app .v13-day{background:#FCFDFE;border:1px solid #E1E8ED;border-radius:11px;padding:12px 9px;}
body.troly-app .v13-day header strong{font-size:16px;color:#284357;}
body.troly-app .v13-day header small,body.troly-app .v13-day header>span{font-size:11px;color:#697B8D;}
body.troly-app .v13-day-load span,body.troly-app .v13-day-warning{font-size:11px;}
body.troly-app .v13-day .v13-event{border:1px solid #E5EBF0;background:#fff;border-radius:8px;padding:7px 6px;gap:6px;}
body.troly-app .v13-day .v13-event-mark{width:24px;min-width:24px;height:24px;border-radius:7px;}
body.troly-app .v13-day .v13-event-mark .t21-icon{width:14px;height:14px;}
body.troly-app .v13-day .v13-event-copy strong{font-size:12px;line-height:1.4;}
body.troly-app .v13-day .v13-event-copy small,body.troly-app .v13-day .v13-event-time{font-size:11px;}
body.troly-app .v13-day .v13-event-time{max-width:none;}
body.troly-app .v13-legend{font-size:12px;gap:12px;color:#6A7D8C;}
body.troly-app .v18-day-option{background:#F8FAFB;border-color:#DCE6EB;color:#546A7C;}
body.troly-app .v20-hero{box-shadow:none;border:1px solid #2B4C68;border-radius:16px;}
body.troly-app .v20-hero p{color:#DCE6EE;}
body.troly-app .v20-hero .btn{border:1px solid #DCE8EF;}
body.troly-app .v20-section{padding:clamp(16px,1.7vw,22px);}
body.troly-app .v20-step{box-shadow:none;transform:none!important;}
body.troly-app .v20-step:hover{background:#F3F7F9;}
body.troly-app .v20-step-copy em{color:#305D7D;}
body.troly-app .v20-metric{border:1px solid #DEE8ED;border-top:3px solid #8EACBE;}
body.troly-app .v20-overview>div,body.troly-app .v20-details>div,body.troly-app .v20-guideline-grid p{background:#F6F9FA;border-color:#E1E9ED;}
body.troly-app .v20-project,body.troly-app .v20-tx-card{background:#FBFCFD;border-color:#E1E8ED;}
body.troly-app .v20-classify-fields{background:#F7F9FB;border-color:#DFE7ED;}
body.troly-app :is(.v14-panel,.v14-kpi,.v14-budget,.v14-plan,.v15-item,.v15-editor,.v11-search-result,.v9-note-card,.v7-person-card,.tl12-card,.v20-project){border-radius:12px;box-shadow:none;border-color:#DFE7ED;}
body.troly-app :is(.v14-kpi,.v14-budget,.v14-plan,.v15-item,.v11-search-result,.v20-project){background:#fff;}
body.troly-app :is(.v14-eyebrow,.v15-eyebrow,.v9-eyebrow,.v7-overline,.v8-eyebrow,.v11-type,.tl12-eyebrow){color:#607989;}
body.troly-app :is(.v14-kpi strong,.v14-budget strong,.v14-panel h3,.v15-item-title,.v11-heading h2,.tl12-summary strong){color:#254258;}
body.troly-app :is(.v14-kpi span,.v14-kpi small,.v14-hint,.v14-footnote,.v15-item-meta,.v15-footnote,.v11-search-result small,.v20-field-hint){color:#617587;font-size:12px;}
body.troly-app :is(.v14-tabs a,.tl12-tabs a,.v11-chip){border-radius:9px;}
body.troly-app :is(.v7-person-card,.tl12-card,.v15-item):hover{box-shadow:0 4px 14px rgba(25,46,65,.065);}
body.troly-app .v18-confirm-dialog{padding:23px;max-height:calc(100dvh - 24px);overflow-y:auto;}
body.troly-app .v18-confirm-dialog h2{font-size:18px;}
body.troly-app .v18-confirm-symbol{box-shadow:none;}
body.troly-app .v18-confirm-dialog p{color:#566D7D;font-size:13.5px;}
body.troly-app .v18-toast{box-shadow:0 12px 32px rgba(18,42,60,.2);}
body.troly-app .v16-modal-backdrop{background:rgba(16,35,49,.53);}
body.troly-app .reminder-pop .bell{display:grid;place-items:center;}
body.troly-app .reminder-pop .bell .t21-icon{width:22px;height:22px;}
body.troly-login-body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;}
body.troly-login-body .troly-login-logo{box-shadow:none;}
body.troly-login-body .troly-login-card h1{letter-spacing:-.03em;}
body.troly-login-body .troly-login-card label{color:#41556A;font-size:13px;}
body.troly-login-body .troly-login-card input{border:1px solid #D5E0E8;border-radius:10px;background:#fff;min-height:42px;font-size:14px;}
body.troly-login-body .troly-login-card input:focus{border-color:#7196B0;}
body.troly-login-body .troly-login-card .btn.primary{box-shadow:none;border-radius:10px;}
@media (max-width:1320px){body.troly-app .v13-columns{grid-template-columns:minmax(0,1.2fr) minmax(295px,.92fr);}
body.troly-app .v13-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:1020px){body.troly-app .v13-columns{grid-template-columns:1fr;}
body.troly-app .top-actions{gap:7px;}
body.troly-app .v11-topsearch{width:230px;}}
@media (max-width:820px){body.troly-app .sidebar{position:fixed!important;top:0!important;left:0!important;bottom:0!important;right:auto!important;height:100dvh!important;transform:translateX(-110%);z-index:99!important;}
body.troly-app .sidebar.is-open{transform:translateX(0);}
body.troly-app .sidebar nav.v13-sidebar-nav .nav-label{display:inline!important;}
body.troly-app .sidebar-user,body.troly-app .sidebar .logout{display:flex!important;}
body.troly-app .v13-menu-button{display:inline-flex;align-items:center;justify-content:center;border-color:#DBE5EB;width:42px;height:42px;}
body.troly-app .v13-menu-button .t21-icon{width:21px;height:21px;}
body.troly-app .topbar{gap:7px;}
body.troly-app .topbar h1{font-size:18px!important;}
body.troly-app .topbar p{font-size:12px;}
body.troly-app .topbar .t21-search-link{display:inline-flex!important;}
body.troly-app .top-actions .v11-topsearch{display:none!important;}
body.troly-app .top-actions .avatar{display:none!important;}
body.troly-app .top-actions .v16-quick-open{display:none!important;}
body.troly-app .v13-core-panel,body.troly-app .v13-nudges{padding:17px!important;}
body.troly-app .task-toolbar{top:auto;position:relative;flex-wrap:wrap;}
body.troly-app .v18-bottom-nav a{font-weight:660;min-height:53px;border-radius:9px;gap:5px;}
body.troly-app .v18-bottom-nav span{display:grid;place-items:center;min-height:23px;}
body.troly-app .v18-bottom-nav .t21-icon{height:20px;width:20px;}
}
@media (max-width:690px){body.troly-app .v13-page-head{flex-direction:column;align-items:stretch;gap:13px;}
body.troly-app .v13-page-head h2{font-size:22px;}
body.troly-app .v13-head-links{justify-content:flex-start;gap:7px;}
body.troly-app .v13-head-links .btn{min-height:36px;white-space:normal;}
body.troly-app .v13-kpis{gap:9px;}
body.troly-app .v13-kpi{min-height:119px;padding:13px 13px 14px;}
body.troly-app .v13-kpi span{font-size:12px;}
body.troly-app .v13-kpi strong{font-size:clamp(18px,4.5vw,23px);margin:6px 0;}
body.troly-app .v13-kpi small{font-size:11.5px;}
body.troly-app .v13-columns{grid-template-columns:1fr;}
body.troly-app .v13-day{padding:13px!important;}
body.troly-app .v13-day .v13-event{grid-template-columns:34px minmax(0,1fr);gap:10px;min-height:53px;padding:9px;}
body.troly-app .v13-day .v13-event-mark{width:30px;min-width:30px;height:30px;}
body.troly-app .v13-day .v13-event-copy strong{font-size:13px;}
body.troly-app .v13-day .v13-event-copy small,body.troly-app .v13-day .v13-event-time{font-size:12px;}
body.troly-app .v18-day-option{min-height:59px;border-radius:10px;}
body.troly-app .task-card{padding:12px;}
body.troly-app .task-card h3{font-size:14px;}
body.troly-app .task-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;}
body.troly-app .task-card .metric.schedule{grid-column:1/-1;}
body.troly-app .metric{padding:8px 9px;}
body.troly-app .v18-deep-body{padding:10px;}
body.troly-app .v20-section{padding:15px;}
body.troly-app .v20-steps,body.troly-app .v20-project-grid,body.troly-app .v20-details{grid-template-columns:1fr;}
body.troly-app .v20-classify-fields{grid-template-columns:1fr;}
body.troly-app :is(.v16-modal,.v18-confirm-dialog){max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow-y:auto;}
body.troly-app .reminder-pop{max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto;left:8px;right:8px;top:8px;}
body.troly-app .v18-confirm-actions{display:grid;grid-template-columns:1fr 1fr;}}
@media (max-width:380px){body.troly-app .content{padding-left:10px!important;padding-right:10px!important;}
body.troly-app .topbar{padding:9px 11px!important;}
body.troly-app .top-actions{gap:5px;}
body.troly-app .topbar .icon-btn{width:37px;min-width:37px;height:37px;}
body.troly-app .v13-kpi{padding:12px 11px;}
body.troly-app .v13-kpi strong{font-size:17px;}
body.troly-app .v13-head-links{flex-wrap:wrap;}
body.troly-app .v18-bottom-nav a{font-size:10.5px;}}
@media (prefers-reduced-motion:reduce){body.troly-app *,body.troly-app *::before,body.troly-app *::after{transition:none!important;animation:none!important;}}
/* ===== v22.css ===== */
:root{--bg:#F7F8FA;--panel:#fff;--list:#F1F3F6;--line:#E3E7EC;--text:#151A21;--muted:#626B78;--nav:#111D30;--blue:#183450;--purple:#183450;--green:#183450;--red:#B53D47;--orange:#A67B34;--radius:13px;--shadow:0 4px 18px rgba(15,29,45,.045);--t21-navy:#101C2D;--t21-deep:#15273D;--t21-primary:#183450;--t21-primary-hover:#0E263E;--t21-soft:#F5F0E5;--t21-page:#F7F8FA;--t21-card:#fff;--t21-border:#E1E5EB;--t21-ink:#151A21;--t21-sub:#5D6570;--t21-quiet:#777E89;--t21-ring:#BE984C;--t21-shadow:0 3px 17px rgba(16,31,48,.045);--v18-accent:#183450;--v18-focus:#C39E56;--v18-ink:#151A21;--v18-muted:#626B78;--v18-border:#E1E5EB;--v18-bg:#F7F8FA;--v22-gold:#C29A4D;--v22-gold-dark:#987333;--v22-gold-soft:#F8F2E5;--v22-red:#B53D47;--v22-red-soft:#FCF0F1;--v22-navy-soft:#ECF1F5;}
html{scroll-behavior:smooth;}
body.troly-app{font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;}
body.troly-app ::selection{background:#F1E2BD;color:#101D30;}
body.troly-app .app-shell{grid-template-columns:251px minmax(0,1fr);}
body.troly-app .main{background:#F7F8FA;}
body.troly-app .content{max-width:1790px;background:#F7F8FA;}
body.troly-app .t21-icon{stroke-width:1.85;}
body.troly-app .sidebar{padding:21px 12px 16px;box-shadow:none;}
body.troly-app .brand{margin:1px 9px 24px;gap:12px;}
body.troly-app .brand-mark{width:43px;height:43px;border-radius:11px;font-weight:850;font-size:21px;}
body.troly-app .brand strong{letter-spacing:.065em;font-weight:790;}
body.troly-app .brand small{font-size:11.5px;}
body.troly-app .sidebar nav.v13-sidebar-nav{display:grid!important;align-content:start;grid-auto-rows:max-content;min-height:0;flex:1;overflow-y:auto;padding:0 4px 12px 0;scrollbar-color:#526074 transparent;scrollbar-width:thin;}
body.troly-app .sidebar nav.v13-sidebar-nav>a.v22-nav-link{padding:9px 11px!important;border-radius:9px;gap:11px;}
body.troly-app .sidebar nav.v13-sidebar-nav>a.v22-nav-link.active::before{border-radius:0 2px 2px 0;}
body.troly-app .sidebar nav.v13-sidebar-nav>a.v22-nav-link.active .nav-dot{color:#E1BB72;}
body.troly-app .sidebar nav.v13-sidebar-nav>a.v22-nav-link .nav-dot{color:#AEBACA;}
body.troly-app .sidebar nav.v13-sidebar-nav>a.v22-nav-link .t21-icon{width:18px;height:18px;}
body.troly-app .sidebar-user{margin-top:9px;padding:14px 5px 3px;}
body.troly-app .sidebar-user strong{font-size:13px;}
body.troly-app .sidebar-user small{color:#AAB8C6;}
body.troly-app .logout{color:#C7D1DC;}
body.troly-app .topbar{height:76px;min-height:76px;padding:12px clamp(20px,2.5vw,40px);}
body.troly-app .topbar h1{letter-spacing:-.032em;}
body.troly-app .v11-topsearch{border:1px solid #DFE4E9;border-radius:10px;height:41px;}
body.troly-app .v11-topsearch input{color:#171D25;font-size:13px;}
body.troly-app .v11-topsearch button{color:#283E55;}
body.troly-app .topbar .icon-btn{border-radius:10px;}
body.troly-app .v16-quick-open{border:1px solid #173451!important;border-radius:9px;font-weight:700;box-shadow:none!important;}
body.troly-app .avatar.dark{border:1px solid #E9D8B6;}
body.troly-app :is(.panel,.stat,.v20-section,.v14-panel,.v11-panel,.dash-card,.dash-kpi){background:#fff;border:1px solid #E2E6EA;border-radius:13px;box-shadow:0 3px 17px rgba(15,29,45,.04);}
body.troly-app :is(.panel h2,.panel h3,.v20-section h2,.v20-section h3,.v13-core-panel h3){color:#171F29;letter-spacing:-.02em;}
body.troly-app :is(.panel p,.v13-panel-heading p,.dash-card-header p){color:#69717D;}
body.troly-app :is(.btn,button.primary){border-radius:9px;}
body.troly-app .btn{border-color:#DCE3E8;}
body.troly-app :is(.btn.primary,.btn-primary,button.primary){background:#183450;border-color:#183450;color:#fff;}
body.troly-app :is(.btn.primary,.btn-primary,button.primary):hover{background:#0F263D;border-color:#0F263D;color:#fff;}
body.troly-app :is(.task-form,.stack,.v16-quick-form,.v16-session-edit) label{font-size:13px;color:#343D49;}
body.troly-app :is(input,textarea,select){accent-color:#173451;}
body.troly-app :is(input,textarea,select):not([data-v34-title]):not([data-v34-body]):not([data-v34-check-text]):focus-visible{outline:2px solid #BD984F!important;outline-offset:1px;}
body.troly-app :is(a,button,summary,[tabindex]):focus-visible{outline:2px solid #BD984F!important;outline-offset:3px;}
body.troly-app .auto-pill{background:#F8F2E5;border:1px solid #E8DAB9;color:#886A37;}
body.troly-app .v22-landing-nav{align-items:center;margin-bottom:19px;min-width:0;}
body.troly-app .v22-landing-nav a{display:inline-flex;align-items:center;min-height:38px;padding:9px 15px;border:1px solid #DCE2E8;text-decoration:none;border-radius:9px;font-size:13px;font-weight:670;}
body.troly-app .v22-main-report{min-width:0;scroll-margin-top:90px;}
body.troly-app .v22-daily-section{margin-top:33px;border-top:1px solid #E2E5E8;padding-top:27px;scroll-margin-top:95px;}
body.troly-app .v22-daily-section .v13-eyebrow{color:#9B7939;font-size:11px;}
body.troly-app .v22-support-reports{margin-top:2px;}
body.troly-app .v22-support-reports summary{color:#183450;}
body.troly-app .troly-dashboard{--d-ink:#17202A;--d-muted:#67717D;--d-line:#E2E6EB;--d-shadow:0 3px 14px rgba(15,29,45,.04);font-size:13px;}
body.troly-app .dash-header{margin-bottom:17px;}
body.troly-app .dash-eyebrow{color:#A27C3C;font-size:11px;letter-spacing:.12em;font-weight:790;}
body.troly-app .dash-heading-major h2{font-size:clamp(22px,2.1vw,27px);font-weight:800;letter-spacing:-.04em;}
body.troly-app .dash-heading-major p{font-size:13px;color:#747C85;}
body.troly-app .dash-select-form{background:#fff;border-color:#E1E6EB;border-radius:10px;box-shadow:none;}
body.troly-app .dash-select-form label,body.troly-app .dash-custom-range label{color:#555F6B;font-size:12px;}
body.troly-app .dash-soft-btn{background:#183450;color:#fff;font-size:12.5px;font-weight:730;border-radius:8px;}
body.troly-app .dash-soft-btn:hover{background:#0E253D;color:#fff;}
body.troly-app .dash-view-tabs{gap:3px;border-bottom:1px solid #E2E5EA;margin-bottom:14px;}
body.troly-app .dash-view-tabs a{color:#69727E;font-size:13px;font-weight:650;padding:12px 15px;}
body.troly-app .dash-view-tabs a:hover{color:#183450;}
body.troly-app .dash-view-tabs a.active{font-weight:800;}
body.troly-app .dash-view-tabs a.active::after{height:3px;}
body.troly-app .dash-range-tabs{border:1px solid #E5E8EC;padding:4px;}
body.troly-app .dash-range-tabs a{color:#596573;font-size:12px;min-height:35px;padding:8px 13px;}
body.troly-app .dash-range-tabs a:hover{color:#142A41;}
body.troly-app .dash-range-label strong{font-size:13px;color:#303943;}
body.troly-app .dash-range-label a{color:#183450;background:#fff;border-color:#DFE4E9;}
body.troly-app .dash-heading{margin:23px 0 13px;}
body.troly-app .dash-heading h2{font-size:18px;color:#192534;font-weight:770;}
body.troly-app .dash-heading p{font-size:12.5px;color:#67727C;}
body.troly-app .dash-kpi-grid{gap:12px;margin-bottom:14px;}
body.troly-app .dash-kpi{padding:19px 18px;min-height:112px;}
body.troly-app .dash-kpi::before{height:3px;}
body.troly-app .dash-tone-blue::before,body.troly-app .dash-tone-success::before{background:#173451;}
body.troly-app .dash-tone-danger::before{background:#B53D47;}
body.troly-app .dash-tone-warning::before{background:#C4A05A;}
body.troly-app .dash-kpi-label{font-size:12.5px;color:#5E6873;font-weight:670;margin-bottom:9px;}
body.troly-app .dash-kpi-value{font-size:clamp(21px,1.7vw,28px);font-weight:800;color:#162538;letter-spacing:-.033em;}
body.troly-app .dash-tone-success .dash-kpi-value,body.troly-app .dash-tone-blue .dash-kpi-value{color:#173451;}
body.troly-app .dash-tone-danger .dash-kpi-value,body.troly-app .dash-red{color:#B53D47!important;}
body.troly-app .dash-tone-warning .dash-kpi-value{color:#94712F;}
body.troly-app .dash-kpi small{font-size:11.5px;line-height:1.4;margin-top:8px;}
body.troly-app .dash-chart-grid{gap:13px;margin-bottom:13px;}
body.troly-app .dash-card{min-width:0;}
body.troly-app .dash-card-header h3{font-weight:760;}
body.troly-app .dash-card-header p{font-size:12px;line-height:1.5;}
body.troly-app .dash-bars{background-image:repeating-linear-gradient(to top,transparent 0,transparent calc(25% - 1px),#F0F2F5 calc(25% - 1px),#F0F2F5 25%);border-color:#E8EBEF;}
body.troly-app .dash-bar-blue{background:#C7A15A;}
body.troly-app .dash-bar-green{background:#1B3C59;}
body.troly-app .dash-bar-red{background:#B53D47;}
body.troly-app .dash-key-blue{background:#C7A15A;}
body.troly-app .dash-key-green{background:#1B3C59;}
body.troly-app .dash-key-red{background:#B53D47;}
body.troly-app .dash-bar-label,body.troly-app .dash-legend{color:#717B86;font-size:11.5px;}
body.troly-app .dash-donut-hole{box-shadow:inset 0 0 0 1px #E5E8EC;}
body.troly-app .dash-donut-hole strong{color:#173451;}
body.troly-app .dash-donut-legend>div{color:#5D6875;font-size:12px;}
body.troly-app .dash-facts>div{background:#F8F9FA;border-color:#EAEDF0;padding:13px;}
body.troly-app .dash-facts span{font-size:12px;color:#646F7C;}
body.troly-app .dash-facts strong{font-size:16px;color:#1B3044;}
body.troly-app .dash-alert{background:#fff;border-color:#ECEFF2;padding:11px 12px;}
body.troly-app .dash-alert strong{font-size:12.5px;color:#263441;}
body.troly-app .dash-alert small{font-size:11.5px;color:#76808A;}
body.troly-app .dash-alert b{font-size:11px;color:#94712F;}
body.troly-app .dash-alert-dot{background:#C7A15A;}
body.troly-app .dash-alert-overdue .dash-alert-dot,body.troly-app .dash-alert-important .dash-alert-dot{background:#B53D47;}
body.troly-app .dash-alert-overdue b,body.troly-app .dash-alert-important b{color:#B53D47;}
body.troly-app .dash-expense-track{background:#EDF0F4;}
body.troly-app .dash-expense-track i{background:#1F405D;}
body.troly-app .dash-goal-track i{background:#C7A15A;}
body.troly-app .dash-goal-percent,body.troly-app .dash-goal-bottom b{color:#173451;}
body.troly-app .dash-priority-important{background:#FFF0F1;color:#B53D47;}
body.troly-app .dash-detail-table summary{font-size:12.5px;color:#173451;}
body.troly-app .dash-detail-table table{font-size:12px;}
body.troly-app .dash-today-panel{box-shadow:none;padding:17px 19px;}
body.troly-app .dash-today-head h3{font-size:15px;color:#172536;}
body.troly-app .dash-today-head p{font-size:12px;}
body.troly-app .dash-today-head a{font-size:12.5px;color:#173451;}
body.troly-app .dash-today-time{font-size:11.5px;}
body.troly-app .dash-today-item strong{font-size:12.5px;}
body.troly-app .dash-today-status{font-size:11px;border-radius:7px;}
body.troly-app .v13-page-head h2{color:#142136;font-size:clamp(21px,2.3vw,27px);}
body.troly-app .v13-page-head p{font-size:13px;color:#717985;}
body.troly-app .v13-kpi{border-color:#E2E6EB;box-shadow:0 3px 12px rgba(14,29,46,.04);}
body.troly-app .v13-kpi:first-child strong{color:#B53D47;}
body.troly-app .v13-kpi:first-child::before{background:#B53D47;}
body.troly-app .v13-kpi.is-alert{background:#FFF9F9;border-color:#EECFD2;}
body.troly-app .v13-kpi.is-alert::before{background:#B53D47;}
body.troly-app .v13-kpi strong{font-weight:800;}
body.troly-app .v13-kpi span{font-size:12.5px;color:#5B6571;}
body.troly-app .v13-kpi small{font-size:12px;color:#727C87;}
body.troly-app .v13-event-mark{background:#F2F3F5;color:#233E56;}
body.troly-app .v13-event.v13-birthday .v13-event-mark,body.troly-app .v13-event.v13-life .v13-event-mark{background:#F9F2E5;color:#8E6F3B;}
body.troly-app .v13-event.v13-fee .v13-event-mark,body.troly-app .v13-event.v13-debt .v13-event-mark{background:#FDF0F1;color:#AD4349;}
body.troly-app .v13-event.v13-contact .v13-event-mark,body.troly-app .v13-event.v13-commitment .v13-event-mark{background:#EDF2F5;color:#233D54;}
body.troly-app .v13-event-copy strong,body.troly-app .v13-priority strong{color:#25313F;}
body.troly-app .v13-status.is-late{background:#FCEEF0;color:#A5323C;}
body.troly-app .v13-status.is-important{background:#F8F0E1;color:#87682F;}
body.troly-app .v13-day.is-heavy{border-color:#E6B7BD;}
body.troly-app .v13-meter i{background:#183450;}
body.troly-app .v13-day.is-heavy .v13-meter i{background:#B53D47;}
body.troly-app .v18-day-option.is-selected{background:#183450;color:#fff;border-color:#183450;box-shadow:none;}
body.troly-app .v18-day-option.is-selected strong{color:#fff;}
body.troly-app .task-toolbar{border-color:#E2E6EA;}
body.troly-app .task-card{border:1px solid #E0E5EA;box-shadow:0 3px 12px rgba(16,29,44,.04);}
body.troly-app .task-card:hover{border-color:#BCC5CE;box-shadow:0 6px 18px rgba(16,29,44,.065);}
body.troly-app .task-card.state-overdue{border-left-color:#B53D47;background:#FFFCFC;}
body.troly-app .task-card.state-upcoming,body.troly-app .task-card.state-todo{border-left-color:#BA4A50;}
body.troly-app .task-card.state-done_on_time,body.troly-app .task-card.state-done_late{border-left-color:#183450;}
body.troly-app .task-card h3{font-weight:740;}
body.troly-app .badge.status{background:#FCEEF0;color:#A8333B;}
body.troly-app .badge.danger{background:#FCEEF0;color:#A8333B;}
body.troly-app .badge.success,body.troly-app .task-card.state-done_on_time .badge.status,body.troly-app .task-card.state-done_late .badge.status{background:#ECF1F5;color:#183450;}
body.troly-app .metric span{color:#677380;}
body.troly-app .metric strong{color:#1A2A3A;}
body.troly-app .metric.schedule{border-color:#E0E5EA;}
body.troly-app .task-card.state-overdue .metric.schedule,body.troly-app .task-card.state-upcoming .metric.schedule{background:#FCEFF0;border-color:#F0D7D9;}
body.troly-app .task-card.state-overdue .metric.schedule strong,body.troly-app .task-card.state-upcoming .metric.schedule strong{color:#9B343D;}
body.troly-app .task-card.state-overdue .metric.schedule span,body.troly-app .task-card.state-upcoming .metric.schedule span{color:#9B454B;}
body.troly-app .task-card.state-doing .metric.schedule strong,body.troly-app .task-card.state-doing .metric.schedule span{color:#87662B;}
body.troly-app .task-card.state-done_on_time .metric.schedule,body.troly-app .task-card.state-done_late .metric.schedule{background:#EEF2F6;border-color:#DBE3EA;}
body.troly-app .task-card.state-done_on_time .metric.schedule strong,body.troly-app .task-card.state-done_late .metric.schedule strong{color:#183450;}
body.troly-app .metric.actual{background:#F7F8FA;}
body.troly-app .progressline>strong{color:#183450;}
body.troly-app .progressline i b,body.troly-app .step-progress i b{background:#C29A4D;}
body.troly-app .v20-section :is(h2,h3),body.troly-app .v20-project header strong{color:#162C42;}
body.troly-app .v20-step{background:#FAFBFC;border-color:#E2E6EA;color:#152B40!important;}
body.troly-app .v20-metric{background:#fff;}
body.troly-app .v20-metric.positive{border-top-color:#173451;}
body.troly-app .v20-metric strong,body.troly-app .v20-overview strong{color:#173451;}
body.troly-app .v14-kpi strong,body.troly-app .v14-panel h3,body.troly-app .v15-item-title{color:#173451;}
body.troly-app .v14-eyebrow,body.troly-app .v15-eyebrow,body.troly-app .v9-eyebrow,body.troly-app .v7-overline{color:#98763B;}
body.troly-app .v7-person-card:hover,body.troly-app .v9-note-card:hover,body.troly-app .tl12-card:hover{box-shadow:0 5px 16px rgba(14,30,45,.07);}
body.troly-app :is(.v16-modal,.v18-confirm-dialog,.reminder-pop){border-color:#DEE4EA;border-radius:14px;color:#172331;background:#fff;}
body.troly-app .v18-confirm-dialog h2{color:#173451;}
body.troly-app .v18-confirm-symbol{background:#F9F0E1;color:#947039;}
body.troly-app .reminder-pop .bell{background:#F9F0E1;color:#8A6B30;}
body.troly-login-body{color:#182331;}
body.troly-login-body .troly-login-card{border:1px solid #E0E5EA;box-shadow:0 16px 55px rgba(12,26,43,.09);border-radius:17px;}
body.troly-login-body .troly-login-logo{border-radius:12px;}
body.troly-login-body .troly-login-card h1{color:#13243A;}
body.troly-login-body .troly-login-card p{color:#6E7883;}
body.troly-login-body .troly-login-card input{color:#1D2733;border-color:#DAE0E6;}
body.troly-login-body .troly-login-card input:focus{outline:2px solid #C29A4D;box-shadow:0 0 0 3px rgba(194,154,77,.12);}
body.troly-login-body .troly-login-card .btn.primary{background:#183450;color:#fff;border-color:#183450;}
@media (max-width:1320px){body.troly-app .app-shell{grid-template-columns:232px minmax(0,1fr);}}
@media (max-width:1020px){body.troly-app .app-shell{grid-template-columns:215px minmax(0,1fr);}
body.troly-app .v22-landing-nav{margin-bottom:14px;}}
@media (max-width:820px){body.troly-app .app-shell{display:block!important;}
body.troly-app .sidebar{padding:20px 13px!important;box-shadow:15px 0 45px rgba(8,20,34,.17);}
body.troly-app .sidebar nav.v13-sidebar-nav{display:grid!important;flex:1!important;overflow-y:auto!important;overflow-x:hidden!important;padding-bottom:22px;}
body.troly-app .sidebar nav.v13-sidebar-nav>a.v22-nav-link{justify-content:flex-start!important;font-size:13px!important;min-width:0!important;min-height:42px!important;}
body.troly-app .sidebar nav.v13-sidebar-nav>a.v22-nav-link .nav-label{display:inline!important;}
body.troly-app .topbar{padding:10px 15px!important;}
body.troly-app .content{padding:18px 16px 95px!important;}
body.troly-app .v13-menu-backdrop:not([hidden]){background:rgba(9,18,29,.53);}
body.troly-app .v18-bottom-nav{background:#fff;box-shadow:0 -2px 14px rgba(15,26,42,.06);border-top:1px solid #E2E6EA;}
body.troly-app .v18-bottom-nav a{color:#5B6773;font-size:11px;}
body.troly-app .v18-bottom-nav .active{color:#142D45;background:#F8F1E3;}
body.troly-app .v22-daily-section{margin-top:26px;padding-top:22px;}}
@media (max-width:690px){body.troly-app .content{padding:14px 12px calc(92px + env(safe-area-inset-bottom))!important;}
body.troly-app .v22-landing-nav a{font-size:12px;padding:8px 11px;min-height:37px;}
body.troly-app .dash-header{gap:11px;}
body.troly-app .dash-kpi-grid,body.troly-app .dash-goal-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}
body.troly-app .dash-kpi{padding:14px 12px;min-height:108px;}
body.troly-app .dash-kpi-value{font-size:clamp(18px,4.3vw,24px);}
body.troly-app .dash-filters{gap:9px;}
body.troly-app .dash-range-tabs{width:100%;display:flex;flex-wrap:wrap;}
body.troly-app .dash-range-tabs a{flex:1;text-align:center;padding:8px 6px;}
body.troly-app .dash-chart-grid{grid-template-columns:1fr;}
body.troly-app .dash-card{padding:15px;}
body.troly-app .dash-donut-layout{grid-template-columns:125px minmax(0,1fr);}
body.troly-app .dash-donut{width:125px;}
body.troly-app .dash-donut-hole{width:86px;}
body.troly-app .dash-heading-major h2{font-size:21px;}
body.troly-app .v13-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:390px){body.troly-app .topbar h1{font-size:16px!important;}
body.troly-app .dash-view-tabs a{font-size:11.5px;padding:9px 7px;}
body.troly-app .dash-range-tabs a{font-size:11px;}
body.troly-app .dash-kpi-value{font-size:18px;}
body.troly-app .dash-card{padding:12px;}
body.troly-app .dash-donut-layout{grid-template-columns:105px minmax(0,1fr);gap:9px;}
body.troly-app .dash-donut{width:105px;}
body.troly-app .dash-donut-hole{width:72px;}
body.troly-app .dash-donut-hole strong{font-size:20px;}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}
body.troly-app *{scroll-behavior:auto;}}
body.troly-app .stat.positive strong,body.troly-app .dash-green,body.troly-app .v20-positive{color:#183450!important;}
body.troly-app .stat.negative strong{color:#B53D47!important;}
body.troly-app .v16-active-bar{border-color:#E7D8B8;background:#FCF8EF;}
body.troly-app .v16-pulse{background:#C29A4D;box-shadow:0 0 0 4px rgba(194,154,77,.12);}
body.troly-app .v16-active-title span{color:#946F35;}
body.troly-app .v16-active-title strong,body.troly-app .v16-active-time{color:#173451;}
body.troly-app .v16-session-item[open]>summary{background:#F9F7F1;}
body.troly-app .v16-session-item summary>b,body.troly-app .v16-edit-trigger{color:#173451;}
body.troly-app .v16-audit-row b{color:#173451;}
body.troly-app .v16-modal-tabs{background:#F1F3F6;}
body.troly-app .v16-modal-tabs button.selected{color:#173451;}
body.troly-app .v20-step-copy em,body.troly-app .v20-project header a,body.troly-app .v20-note a{color:#173451;}
body.troly-app .v20-step:hover{transform:none!important;border-color:#D4B77D;box-shadow:0 4px 12px rgba(17,29,46,.055);}
body.troly-app .v20-step-index{color:#997637;}
body.troly-app .v20-details strong,body.troly-app .v20-breakdown strong{color:#173451;}
body.troly-app .v20-project-metrics b{color:#173451;}
body.troly-app .v20-guideline-grid p{background:#F7F8FA;color:#58636F;}
body.troly-app .v20-tx-head strong{color:#172C41;}
body.troly-app .v19-audit-item .v19-neutral{color:#173451;background:#EEF2F6;}
body.troly-app .v19-audit-item .v19-warn{color:#A63843;background:#FCEEF0;}
body.troly-app .v4-table thead,body.troly-app .v14-panel thead{background:#F6F7F9;color:#25394F;}
body.troly-app .v18-confirm-dialog,body.troly-app .v16-modal{max-height:calc(100dvh - 24px);overflow-y:auto;}
/* ===== v23.css ===== */
:root{--v23-black:#000000;--v23-black-soft:#111111;--v23-white:#FFFFFF;--v23-page:#F5F5F5;--v23-page-2:#FAFAFA;--v23-line:#E7E7E7;--v23-text:#111111;--v23-muted:#666B73;--v23-gold:#FFD700;--v23-gold-soft:#FFF7CC;--v23-red:#FF2B2B;--v23-red-soft:#FFF1F1;--v23-navy:#13233A;--v23-shadow:0 10px 30px rgba(0,0,0,.06);--v29-glass-bg:rgba(255,255,255,.66);--v29-glass-bg-strong:rgba(255,255,255,.82);--v29-glass-line:rgba(255,255,255,.78);--v29-glass-line-soft:rgba(17,17,17,.08);--v29-glass-shadow:0 18px 40px rgba(13,18,25,.08),0 4px 14px rgba(13,18,25,.04);--v29-glass-shadow-soft:0 10px 24px rgba(13,18,25,.05);--v29-glass-blur:saturate(145%) blur(16px);--v29-shell-bg:radial-gradient(circle at top right,rgba(255,215,0,.10),transparent 24%),radial-gradient(circle at top left,rgba(19,35,58,.06),transparent 30%),linear-gradient(180deg,#f5f7fa 0%,#eff2f6 100%);}
body.troly-app{background:var(--v29-shell-bg);color:var(--v23-text);font-size:14px;line-height:1.56;}
body.troly-app .main,
body.troly-app .content{background:transparent;}
body.troly-app .content{padding:26px clamp(22px,2.6vw,42px) 82px;}
body.troly-app .sidebar{border-right:1px solid #1b1b1b!important;color:#fff!important;}
body.troly-app .brand-mark{background:var(--v23-black)!important;border:1px solid #2b2b2b;color:var(--v23-gold)!important;box-shadow:none!important;}
body.troly-app .brand strong{color:#fff!important;font-size:16px;}
body.troly-app .brand small{color:#cfcfcf!important;}
body.troly-app .sidebar nav.v13-sidebar-nav{gap:4px!important;padding-right:2px;}
body.troly-app .sidebar nav.v13-sidebar-nav>a.v22-nav-link{background:transparent!important;border:1px solid transparent!important;color:#F5F5F5!important;font-size:13.5px!important;font-weight:580!important;min-height:42px;letter-spacing:.006em;}
body.troly-app .sidebar nav.v13-sidebar-nav>a.v22-nav-link .nav-dot,
body.troly-app .sidebar nav.v13-sidebar-nav>a.v22-nav-link .t21-icon{color:#F5F5F5!important;stroke:#F5F5F5;}
body.troly-app .sidebar nav.v13-sidebar-nav>a.v22-nav-link:hover{background:#0D0D0D!important;color:var(--v23-gold)!important;border-color:#1B1B1B!important;}
body.troly-app .sidebar nav.v13-sidebar-nav>a.v22-nav-link:hover .nav-dot,
body.troly-app .sidebar nav.v13-sidebar-nav>a.v22-nav-link:hover .t21-icon{color:var(--v23-gold)!important;stroke:var(--v23-gold)!important;}
body.troly-app .sidebar nav.v13-sidebar-nav>a.v22-nav-link.active{background:#070707!important;border-color:#2A2A2A!important;color:var(--v23-gold)!important;font-weight:760!important;box-shadow:inset 0 0 0 1px rgba(255,215,0,.05);}
body.troly-app .sidebar nav.v13-sidebar-nav>a.v22-nav-link.active::before{left:0;top:12%;height:76%;width:3px;background:var(--v23-gold)!important;}
body.troly-app .sidebar nav.v13-sidebar-nav>a.v22-nav-link.active .nav-dot,
body.troly-app .sidebar nav.v13-sidebar-nav>a.v22-nav-link.active .t21-icon{color:var(--v23-gold)!important;stroke:var(--v23-gold)!important;}
body.troly-app .sidebar-user{border-top:1px solid #232323!important;}
body.troly-app .sidebar .avatar{background:#0C0C0C!important;border-color:#2b2b2b!important;color:var(--v23-gold)!important;}
body.troly-app .sidebar-user strong{color:#fff!important;}
body.troly-app .sidebar-user small,.logout{color:#D3D3D3!important;}
body.troly-app .logout:hover{background:#111!important;color:var(--v23-gold)!important;}
body.troly-app .topbar{background:rgba(255,255,255,.92)!important;border-bottom:1px solid rgba(255,255,255,.78)!important;box-shadow:var(--v29-glass-shadow-soft)!important;}
body.troly-app .topbar h1{font-size:23px!important;color:#111!important;font-weight:800!important;}
body.troly-app .topbar p{color:#70757D!important;font-size:12.8px!important;}
body.troly-app .v11-topsearch{background:#FAFAFA!important;border-color:#E5E5E5!important;}
body.troly-app .v11-topsearch:focus-within{background:#fff!important;border-color:#111!important;box-shadow:0 0 0 3px rgba(255,215,0,.18)!important;}
body.troly-app .topbar .icon-btn{background:#fff!important;border-color:#E3E3E3!important;color:#111!important;}
body.troly-app .topbar .icon-btn:hover{background:#111!important;color:var(--v23-gold)!important;border-color:#111!important;}
body.troly-app .v16-quick-open{background:#000!important;border-color:#000!important;color:#fff!important;}
body.troly-app .v16-quick-open:hover{background:#111!important;color:var(--v23-gold)!important;}
body.troly-app .avatar.dark{background:#111!important;color:var(--v23-gold)!important;border-color:#222!important;}
body.troly-app :is(.panel,.stat,.v20-section,.v14-panel,.v11-panel,.dash-card,.dash-kpi,.task-card,.v13-kpi,.v13-core-panel,.v7-person-card,.tl12-card){background:linear-gradient(145deg,rgba(255,255,255,.86),rgba(255,255,255,.65))!important;border:1px solid var(--v29-glass-line)!important;border-radius:16px!important;box-shadow:var(--v29-glass-shadow),inset 0 1px 0 rgba(255,255,255,.9)!important;}
body.troly-app .panel{padding:18px 20px;}
body.troly-app :is(.panel h2,.panel h3,.v20-section h2,.v20-section h3,.v13-core-panel h3,.dash-heading h2){color:#111!important;}
body.troly-app :is(.panel p,.v13-panel-heading p,.dash-card-header p,.v13-page-head p){color:var(--v23-muted)!important;}
body.troly-app .btn{background:#fff!important;border:1px solid #DDD!important;color:#111!important;font-weight:670!important;}
body.troly-app .btn:hover{background:#111!important;border-color:#111!important;color:var(--v23-gold)!important;}
body.troly-app :is(.btn.primary,.btn-primary,button.primary,.dash-soft-btn){background:#000!important;border-color:#000!important;color:#fff!important;}
body.troly-app :is(.btn.primary,.btn-primary,button.primary,.dash-soft-btn):hover{background:#111!important;border-color:#111!important;color:var(--v23-gold)!important;}
body.troly-app :is(input,textarea,select):not([data-v34-title]):not([data-v34-body]):not([data-v34-check-text]){border-color:rgba(17,17,17,.08)!important;background:rgba(255,255,255,.92)!important;color:#111!important;}
body.troly-app :is(input,textarea,select):not([data-v34-title]):not([data-v34-body]):not([data-v34-check-text]):focus{border-color:#111!important;box-shadow:0 0 0 3px rgba(255,215,0,.15)!important;}
body.troly-app :is(input,textarea,select):focus-visible,
body.troly-app :is(a,button,summary,[tabindex]):focus-visible{outline:2px solid var(--v23-gold)!important;outline-offset:2px!important;}
body.troly-app .v22-landing-nav a{background:#fff!important;border-color:#E3E3E3!important;color:#222!important;}
body.troly-app .v22-landing-nav a:hover:not(.is-current){background:#111!important;border-color:#111!important;color:var(--v23-gold)!important;}
body.troly-app .v22-landing-nav a.is-current{background:#000!important;border-color:#000!important;color:var(--v23-gold)!important;}
body.troly-app .troly-dashboard{color:#111!important;}
body.troly-app .dash-eyebrow,.body.troly-app .v13-eyebrow{color:#8A6D00!important;}
body.troly-app .dash-heading-major h2{color:#111!important;}
body.troly-app .dash-view-tabs a.active{color:#000!important;}
body.troly-app .dash-view-tabs a.active::after{background:var(--v23-gold)!important;}
body.troly-app .dash-range-tabs{background:#F0F0F0!important;border-color:#E2E2E2!important;}
body.troly-app .dash-range-tabs a.active{background:#000!important;color:var(--v23-gold)!important;box-shadow:none!important;}
body.troly-app .dash-kpi{position:relative;}
body.troly-app .dash-kpi::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#111;border-radius:14px 0 0 14px;}
body.troly-app .dash-kpi strong{color:#111!important;}
body.troly-app .dash-kpi small{color:#767676!important;}
body.troly-app .dash-kpi.is-positive::before{background:var(--v23-gold)!important;}
body.troly-app .dash-kpi.is-danger::before{background:var(--v23-red)!important;}
body.troly-app .dash-card{padding:18px;}
body.troly-app .dash-card-header h3{color:#111!important;font-size:16px!important;}
body.troly-app .dash-today-panel{border-color:var(--v23-line)!important;background:#fff!important;}
body.troly-app .dash-today-time{background:var(--v23-gold-soft)!important;color:#5F4D00!important;}
body.troly-app .dash-today-status{background:var(--v23-red-soft)!important;color:var(--v23-red)!important;}
body.troly-app .dash-today-status.is-doing{background:var(--v23-gold-soft)!important;color:#7A6100!important;}
body.troly-app .dash-today-status.is-done{background:#F2F2F2!important;color:#111!important;}
body.troly-app .dash-alert-overdue .dash-alert-dot,
body.troly-app .dash-alert-important .dash-alert-dot,
body.troly-app .dash-key-red{background:var(--v23-red)!important;}
body.troly-app .dash-key-green,
body.troly-app .dash-expense-track i{background:#111!important;}
body.troly-app .dash-goal-track i,
body.troly-app .dash-key-gold,
body.troly-app .dash-alert-dot{background:var(--v23-gold)!important;}
body.troly-app .v13-kpi{padding:20px!important;}
body.troly-app .v13-kpi::before{background:#000!important;width:7px!important;height:7px!important;}
body.troly-app .v13-kpi strong{color:#111!important;font-size:23px!important;}
body.troly-app .v13-kpi span,body.troly-app .v13-kpi small{color:#666!important;}
body.troly-app .v13-kpi:first-child::before,body.troly-app .v13-kpi.is-alert::before{background:var(--v23-red)!important;}
body.troly-app .v13-kpi.is-alert strong{color:var(--v23-red)!important;}
body.troly-app .v13-day.is-today{border-color:#111!important;background:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,215,0,.9)!important;}
body.troly-app .v13-day-warning{background:var(--v23-red-soft)!important;color:var(--v23-red)!important;}
body.troly-app .task-list-wrap{background:rgba(255,255,255,.58)!important;border-color:rgba(255,255,255,.78)!important;}
body.troly-app .task-toolbar{background:rgba(255,255,255,.90)!important;border-color:rgba(255,255,255,.82)!important;box-shadow:var(--v29-glass-shadow-soft)!important;}
body.troly-app .filters button.active,body.troly-app .density button.active{background:#000!important;color:var(--v23-gold)!important;}
body.troly-app .task-card{border-left:4px solid #111!important;background:#fff!important;}
body.troly-app .task-card:hover{transform:translateY(-1px);}
body.troly-app .task-card.state-overdue,
body.troly-app .task-card.state-upcoming,
body.troly-app .task-card.state-todo{border-left-color:var(--v23-red)!important;}
body.troly-app .task-card.state-doing{border-left-color:var(--v23-gold)!important;}
body.troly-app .task-card.state-done_on_time,
body.troly-app .task-card.state-done_late{border-left-color:#111!important;}
body.troly-app .task-card h3{font-size:17px!important;color:#111!important;}
body.troly-app .badge{background:#F2F2F2!important;color:#333!important;border:1px solid #E4E4E4;}
body.troly-app .badge.status,
body.troly-app .badge.danger{background:var(--v23-red-soft)!important;color:var(--v23-red)!important;border-color:#FFD0D0!important;}
body.troly-app .task-card.state-doing .badge.status{background:var(--v23-gold-soft)!important;color:#705A00!important;border-color:#F3DE70!important;}
body.troly-app .badge.success,
body.troly-app .task-card.state-done_on_time .badge.status,
body.troly-app .task-card.state-done_late .badge.status{background:#F2F2F2!important;color:#111!important;border-color:#DFDFDF!important;}
body.troly-app .metric{background:#FCFCFC!important;border-color:#ECECEC!important;}
body.troly-app .metric.schedule{background:#FAFAFA!important;}
body.troly-app .metric.schedule strong{color:#111!important;font-size:14px!important;}
body.troly-app .task-card.state-overdue .metric.schedule,
body.troly-app .task-card.state-upcoming .metric.schedule,
body.troly-app .task-card.state-todo .metric.schedule{background:var(--v23-red-soft)!important;border-color:#FFD7D7!important;}
body.troly-app .task-card.state-overdue .metric.schedule strong,
body.troly-app .task-card.state-overdue .metric.schedule span,
body.troly-app .task-card.state-upcoming .metric.schedule strong,
body.troly-app .task-card.state-upcoming .metric.schedule span,
body.troly-app .task-card.state-todo .metric.schedule strong,
body.troly-app .task-card.state-todo .metric.schedule span{color:var(--v23-red)!important;}
body.troly-app .task-card.state-doing .metric.schedule{background:var(--v23-gold-soft)!important;border-color:#F3DF72!important;}
body.troly-app .task-card.state-doing .metric.schedule strong,
body.troly-app .task-card.state-doing .metric.schedule span{color:#6D5700!important;}
body.troly-app .task-card.state-done_on_time .metric.schedule,
body.troly-app .task-card.state-done_late .metric.schedule{background:#F5F5F5!important;border-color:#E4E4E4!important;}
body.troly-app .task-card.state-done_on_time .metric.schedule strong,
body.troly-app .task-card.state-done_late .metric.schedule strong{color:#111!important;}
body.troly-app .progressline>strong,.step-progress>strong{color:#111!important;}
body.troly-app .progressline i b,.step-progress i b{background:var(--v23-gold)!important;}
body.troly-app .step-row.done{background:#F6F6F6!important;color:#666!important;}
body.troly-app .step-row.done .check{background:#111!important;color:var(--v23-gold)!important;}
body.troly-app .card-actions a:hover{background:#111!important;border-color:#111!important;color:var(--v23-gold)!important;}
body.troly-app .card-actions button{color:var(--v23-red)!important;}
body.troly-app .v20-hero{background:#000!important;border-color:#111!important;color:#fff!important;}
body.troly-app .v20-hero .v20-eyebrow{color:var(--v23-gold)!important;}
body.troly-app .v20-hero .btn{background:#fff!important;color:#111!important;border-color:#fff!important;}
body.troly-app .v20-step-icon{background:var(--v23-gold-soft)!important;color:#6E5900!important;}
body.troly-app .v20-metric{border-top-color:#111!important;}
body.troly-app .v20-metric.living{border-top-color:var(--v23-gold)!important;}
body.troly-app .v20-metric.work{border-top-color:#111!important;}
body.troly-app .v20-note{background:#FFFCF0!important;border-left-color:var(--v23-gold)!important;color:#534400!important;}
body.troly-app .v20-tx-head b{color:var(--v23-red)!important;}
body.troly-app .notice.success{background:#F6F6F6!important;border-color:#E7E7E7!important;color:#111!important;}
body.troly-app .notice.error{background:var(--v23-red-soft)!important;border-color:#FFD1D1!important;color:var(--v23-red)!important;}
body.troly-app :is(.v16-modal,.v18-confirm-dialog,.reminder-pop){border:1px solid #E2E2E2!important;box-shadow:0 18px 68px rgba(0,0,0,.22)!important;}
body.troly-app .v18-confirm-dialog::backdrop{background:rgba(0,0,0,.58)!important;}
body.troly-app .v18-confirm-symbol,.reminder-pop .bell{background:var(--v23-gold-soft)!important;color:#6D5700!important;}
body.troly-app .v18-toast{background:#000!important;color:#fff!important;}
body.troly-login-body{background:#F5F5F5!important;}
body.troly-login-body .troly-login-card{background:#fff!important;border-color:#E5E5E5!important;}
body.troly-login-body .troly-login-logo{background:#000!important;color:var(--v23-gold)!important;}
body.troly-login-body .troly-login-card button{background:#000!important;border-color:#000!important;color:#fff!important;}
body.troly-login-body .troly-login-card button:hover{color:var(--v23-gold)!important;}
body.troly-app .v18-mobile-tabs{background:rgba(0,0,0,.97)!important;border-top:1px solid #1C1C1C!important;box-shadow:0 -8px 28px rgba(0,0,0,.15)!important;}
body.troly-app .v18-mobile-tabs a{color:#F2F2F2!important;}
body.troly-app .v18-mobile-tabs a.is-current{color:var(--v23-gold)!important;}
body.troly-app .v18-mobile-tabs a.is-current::before{background:var(--v23-gold)!important;}
@media (max-width:1100px){body.troly-app .app-shell{grid-template-columns:220px minmax(0,1fr);}}
@media (max-width:767px){body.troly-app .content{padding:18px 14px 88px;}
body.troly-app .topbar{padding:12px 14px;}
body.troly-app .topbar h1{font-size:20px!important;}
body.troly-app .task-card h3{font-size:16px!important;}}
/* ===== v24.css ===== */
body.troly-app svg.t21-icon{min-width:0;min-height:0;vertical-align:middle;display:inline-block;}
body.troly-app .sidebar nav.v13-sidebar-nav>a.v22-nav-link .nav-dot{display:inline-flex;align-items:center;justify-content:center;flex:0 0 22px;width:22px;min-width:22px;height:22px;min-height:22px;overflow:hidden;}
body.troly-app .sidebar nav.v13-sidebar-nav>a.v22-nav-link .nav-dot svg.t21-icon{width:19px;height:19px;max-width:19px;max-height:19px;flex:0 0 19px;overflow:visible;}
body.troly-app .sidebar .logout svg.t21-icon{width:18px;height:18px;max-width:18px;max-height:18px;}
body.troly-app .topbar svg.t21-icon{width:19px;height:19px;max-width:19px;max-height:19px;}
body.troly-app .v18-bottom-nav svg.t21-icon{width:20px;height:20px;max-width:20px;max-height:20px;}
body.troly-app .v13-event-mark svg.t21-icon{width:18px;height:18px;max-width:18px;max-height:18px;}
body.troly-app .app-shell{min-width:0;max-width:100%;}
body.troly-app .sidebar{min-width:0;max-width:100%;overflow:hidden;}
body.troly-app .sidebar nav.v13-sidebar-nav{min-width:0;max-width:100%;overflow-x:hidden;}
body.troly-app .sidebar nav.v13-sidebar-nav>a.v22-nav-link{min-width:0;max-width:100%;}
body.troly-app .sidebar nav.v13-sidebar-nav .nav-label{min-width:0;overflow-wrap:anywhere;}
body.troly-app .main{min-width:0;}
body.troly-app .content{min-width:0;}
@media (max-width:820px){body.troly-app .sidebar{width:min(310px,88vw)!important;max-width:88vw!important;}}
html{font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;}
body.troly-app,body.troly-login-body{font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important;font-size:14px;line-height:1.55;}
body.troly-app .topbar{display:flex;flex-wrap:nowrap;align-items:center;gap:16px;}
body.troly-app .topbar .top-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;}
body.troly-app .v22-landing-nav{display:flex;flex-wrap:wrap;gap:7px;}
body.troly-app .dash-range-tabs,body.troly-app .dash-view-tabs{display:flex;flex-wrap:wrap;}
body.troly-app :is(.dash-kpi,.dash-card,.panel){min-width:0;}
body.troly-app svg.t21-icon{width:20px;height:20px;max-width:22px;max-height:22px;flex:0 0 20px;}
body.troly-app .sidebar nav.v13-sidebar-nav>a.v22-nav-link.active,
body.troly-app .sidebar nav.v13-sidebar-nav>a.v22-nav-link.active .nav-dot{color:#FFD700!important;}
body.troly-app .sidebar{background:#000!important;}
body.troly-app .dash-view-tabs a,body.troly-app .dash-range-tabs a,
body.troly-app .v22-landing-nav a{text-decoration:none;}
@media (max-width:820px){body.troly-app .topbar{flex-wrap:wrap;height:auto;min-height:65px;}
body.troly-app .topbar .top-actions{margin-left:auto;max-width:100%;}
body.troly-app .content{padding:17px 14px 95px;}}
@media (prefers-reduced-motion:reduce){body.troly-app *,body.troly-app *::before,body.troly-app *::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;}}
body.troly-app .v26-history-badge{background:#FFF1F1!important;border:1px solid #FFD4D4!important;color:#B91C1C!important;font-weight:700!important;}
body.troly-app .task-card .v26-extension{border-top:1px solid #E6E6E6;margin:12px 0 0;padding:14px 0 0;display:grid;gap:10px;font-size:13px;color:#151515;}
body.troly-app .v26-persistent{display:flex;align-items:center;gap:7px 16px;flex-wrap:wrap;padding:11px 13px;border:1px solid #F0D4D4;border-left:3px solid #FF2B2B;border-radius:10px;background:#FFF9F9;color:#363636;}
body.troly-app .v26-persistent strong{color:#C21F1F;font-size:13px;}
body.troly-app .v26-persistent span{font-size:12.5px;}
body.troly-app .v26-extension-action>summary{list-style:none;display:inline-flex!important;align-items:center;justify-content:center;gap:10px;background:#000!important;color:#FFD700!important;border:1px solid #111!important;cursor:pointer;min-height:37px;min-width:135px;padding:9px 13px!important;border-radius:9px;font-size:13px;font-weight:700;}
body.troly-app .v26-extension-action>summary::-webkit-details-marker{display:none;}
body.troly-app .v26-extension-action>summary:hover{background:#191919!important;}
body.troly-app .v26-extension-action>summary:focus-visible{outline:2px solid #FFD700;outline-offset:3px;}
body.troly-app .v26-extension-form{display:grid;gap:12px;margin-top:12px;padding:15px;background:#FAFAFA;border:1px solid #E7E7E7;border-radius:12px;max-width:730px;}
body.troly-app .v26-extension-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:12px;}
body.troly-app .v26-extension-fields label{display:grid;align-content:start;gap:7px;font-size:13px;color:#202020;font-weight:650;min-width:0;}
body.troly-app .v26-extension-fields input,body.troly-app .v26-extension-fields textarea{font-family:inherit;min-width:0;width:100%;border-radius:8px;background:#fff;color:#111;border:1px solid #D7D7D7;padding:10px 11px;font-size:14px;font-weight:400;line-height:1.45;}
body.troly-app .v26-extension-form .btn.primary{justify-self:start;min-height:38px;}
body.troly-app .v26-extension-intro{display:flex;gap:5px;flex-direction:column;}
body.troly-app .v26-extension-intro strong{color:#C21F1F;}
body.troly-app .v26-extension-intro small{font-size:12px;color:#555;}
body.troly-app .v26-extension-history>summary{cursor:pointer;font-size:12.5px;font-weight:700;color:#222;list-style:revert;min-height:32px;display:list-item;}
body.troly-app .v26-extension-history>summary:hover{color:#A06B00;}
body.troly-app .v26-extension-history ol{margin:8px 0 0;padding-left:22px;display:grid;gap:10px;max-height:none;overflow-y:visible;}
body.troly-app .v26-extension-history li{padding:9px 10px;border-radius:8px;border:1px solid #EAEAEA;background:#fff;overflow-wrap:anywhere;}
body.troly-app .v26-history-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px;}
body.troly-app .v26-delay{color:#C21F1F;font-weight:650;}
body.troly-app .v26-history-dates{font-size:13px;color:#222;margin:5px 0;}
body.troly-app .v26-extension-history p{font-size:12.5px;color:#4A4A4A;margin:5px 0 0;white-space:normal;}
body.troly-app .task-form small#v26-deadline-hint{font-size:12px;font-weight:500;color:#B91C1C;line-height:1.4;}
body.troly-app .task-form input[readonly]{background:#F3F3F3!important;color:#555!important;border-style:dashed!important;}
@media (max-width:740px){body.troly-app .v26-extension-fields{grid-template-columns:1fr;}
body.troly-app .v26-persistent{align-items:flex-start;flex-direction:column;gap:4px;}
body.troly-app .v26-extension-form{padding:12px;}
body.troly-app .v26-extension-action>summary{min-width:0;max-width:100%;}}
body.troly-app .v26-analytics-history{padding:14px 16px;background:#FFF9F9;border:1px solid #F2D7D7;border-left:3px solid #FF2B2B;border-radius:10px;margin:10px 0 15px;font-size:13px;}
body.troly-app .v26-analytics-history>strong{color:#B91C1C;}
body.troly-app .v26-analytics-history p{font-size:12.5px;color:#4B4B4B;margin:7px 0;}
body.troly-app .v26-analytics-history ol{margin:8px 0 0;padding-left:22px;display:grid;gap:7px;}
body.troly-app .v26-analytics-history li{line-height:1.5;overflow-wrap:anywhere;}
body.troly-app .v27-workspace{min-width:0;display:grid;gap:12px;color:#151515;}
body.troly-app .v27-head{display:flex;align-items:center;gap:12px;min-height:32px;}
body.troly-app .v27-head h2{font-size:clamp(21px,2vw,26px);margin:0;color:#050505;font-weight:780;letter-spacing:-.035em;line-height:1.3;}
body.troly-app .v27-eyebrow{font-size:11px;letter-spacing:.12em;color:#776600;font-weight:800;}
body.troly-app .v27-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;}
body.troly-app .v27-kpis>div{background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.82);border-radius:13px;padding:12px 15px;min-width:0;box-shadow:0 6px 20px rgba(0,0,0,.045);}
body.troly-app .v27-kpis span{display:block;color:#676767;font-size:12px;line-height:1.5;}
body.troly-app .v27-kpis strong{font-size:25px;font-weight:780;color:#131313;line-height:1.3;font-variant-numeric:tabular-nums;}
body.troly-app .v27-kpis .is-danger strong{color:#E62020;}
body.troly-app .v27-kpis .is-danger{border-top:2px solid #FF2B2B;}
body.troly-app .v27-form-details{border:1px solid var(--v29-glass-line);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,255,255,.62));scroll-margin-top:94px;min-width:0;box-shadow:var(--v29-glass-shadow-soft),inset 0 1px 0 rgba(255,255,255,.85);}
body.troly-app .v27-form-details>summary{padding:12px 16px;cursor:pointer;color:#222;font-size:14px;font-weight:750;display:flex;align-items:center;justify-content:space-between;list-style:none;min-height:46px;gap:14px;line-height:1.4;}
body.troly-app .v27-form-details>summary::-webkit-details-marker{display:none;}
body.troly-app .v27-form-details>summary span{color:#777;}
body.troly-app .v27-form-details[open]>summary{border-bottom:1px solid rgba(17,17,17,.08);}
body.troly-app .v27-form-details>.task-form-panel{margin:0;border:0!important;box-shadow:none!important;max-width:none;background:transparent;}
body.troly-app .v27-list-panel{background:linear-gradient(180deg,rgba(255,255,255,.74),rgba(255,255,255,.58));border:1px solid var(--v29-glass-line);border-radius:18px;box-shadow:var(--v29-glass-shadow);min-width:0;overflow:hidden;}
body.troly-app .v27-filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:13px 15px;border-bottom:1px solid rgba(17,17,17,.07);background:rgba(255,255,255,.32);}
body.troly-app .v27-filters label{margin:0;min-width:0;display:block;}
body.troly-app .v27-filters input,body.troly-app .v27-filters select{height:42px;max-width:100%;padding:8px 11px;border:1px solid rgba(17,17,17,.08);border-radius:12px;color:#141414;background:rgba(255,255,255,.78);font-size:13px;box-shadow:inset 0 1px 0 rgba(255,255,255,.65);}
body.troly-app .v27-filters .v27-search{flex:1 1 250px;}
body.troly-app .v27-filters .v27-search input{width:100%;min-width:0;}
body.troly-app .v27-filters .btn{min-height:42px;padding:8px 15px;}
body.troly-app .v27-table-caption{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;color:#58616c;font-size:12px;padding:10px 15px;background:rgba(255,255,255,.18);}
body.troly-app .v27-table-caption strong{color:#101010;}
body.troly-app .v27-table-scroll{width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;}
body.troly-app .v27-table{width:100%;table-layout:auto;border-collapse:collapse;margin:0;min-width:775px;font-size:13px;color:#1b1b1b;}
body.troly-app .v27-table th{background:rgba(255,255,255,.54);color:#5a626d;text-align:left;white-space:nowrap;font-size:11px;text-transform:uppercase;letter-spacing:.065em;font-weight:770;padding:12px 13px;border-bottom:1px solid rgba(17,17,17,.07);}
body.troly-app .v27-table td{padding:11px 13px;vertical-align:middle;border-bottom:1px solid rgba(17,17,17,.05);line-height:1.48;background:rgba(255,255,255,.20);}
body.troly-app .v27-table tbody tr:last-child td{border-bottom:0;}
/* Completed work: one subtle green row in desktop tables, including delayed completions. */
body.troly-app .v27-table tbody tr.state-done_on_time td,
body.troly-app .v27-table tbody tr.state-done_late td{background:#eaf8ee;}
body.troly-app .v27-table tbody tr.state-done_on_time:hover td,
body.troly-app .v27-table tbody tr.state-done_late:hover td{background:#dff2e5;}

body.troly-app .v27-table tbody tr:hover{background:rgba(255,255,255,.38);}
body.troly-app .v27-table .v27-title-cell{width:38%;min-width:200px;}
body.troly-app .v27-title-text{font-size:13.5px;line-height:1.45;color:#101010;font-weight:720;overflow-wrap:anywhere;}
body.troly-app .v27-row-secondary{display:flex;align-items:center;flex-wrap:wrap;gap:5px 9px;margin-top:4px;color:#707070;font-size:11.5px;}
body.troly-app .v27-priority.is-important{color:#a71919;font-weight:700;}
body.troly-app .v27-history{color:#b52525;font-weight:690;}
body.troly-app .v27-status{display:inline-block;border:1px solid rgba(17,17,17,.08);background:rgba(255,255,255,.74);color:#232323;border-radius:999px;padding:4px 9px;white-space:nowrap;font-size:11.5px;font-weight:720;box-shadow:inset 0 1px 0 rgba(255,255,255,.65);}
body.troly-app .v27-mobile-status{display:none;}
body.troly-app .v27-status.status-overdue{color:#e32424;background:#fff3f3;border-color:#ffd3d3;}
body.troly-app .v27-status.status-doing{color:#6f5a00;background:#fff9d8;border-color:#f7e77c;}
body.troly-app .v27-status.status-done_on_time,body.troly-app .v27-status.status-done_late{color:#111;background:#f3f3f3;}
body.troly-app .v27-status.status-done_late{border-color:#ffcaca;color:#A71919;}
body.troly-app .v27-progress-label{display:flex;align-items:baseline;justify-content:space-between;gap:8px;white-space:nowrap;}
body.troly-app .v27-progress-label strong{font-size:12.5px;font-weight:760;color:#111;}
body.troly-app .v27-progress-label span{color:#777;font-size:11px;}
body.troly-app .v27-progress-track{height:6px;overflow:hidden;border-radius:99px;background:rgba(17,17,17,.08);margin-top:7px;min-width:94px;}
body.troly-app .v27-progress-track>span{display:block;height:100%;background:#d7b700;border-radius:99px;}
body.troly-app .v27-task-row.state-overdue .v27-progress-track>span{background:#ff2b2b;}
body.troly-app .v27-task-row.state-done_on_time .v27-progress-track>span,body.troly-app .v27-task-row.state-done_late .v27-progress-track>span{background:#222;}
body.troly-app .v27-due{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px;}
body.troly-app .v27-task-row.state-overdue .v27-due{color:#d92525;font-weight:720;}
body.troly-app .v27-time{color:#5e5e5e;font-variant-numeric:tabular-nums;white-space:nowrap;}
body.troly-app .v27-view{text-align:right;white-space:nowrap;}
body.troly-app .v27-open{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:9px 13px;border-radius:11px;border:1px solid rgba(17,17,17,.10);background:rgba(255,255,255,.78);color:#111;cursor:pointer;font:700 12px/1.2 inherit;font-size:12px;white-space:nowrap;box-shadow:0 4px 12px rgba(17,17,17,.04);}
body.troly-app .v27-open-short{display:none;}
body.troly-app .v27-open:hover{background:#050505;color:#FFD700;border-color:#050505;}
body.troly-app .v27-open:focus-visible{outline:2px solid #FFD700;outline-offset:2px;}
body.troly-app .v27-pagination{padding:14px 17px;border-top:1px solid rgba(17,17,17,.06);display:flex;align-items:center;gap:7px;justify-content:flex-end;flex-wrap:wrap;font-size:12px;background:rgba(255,255,255,.16);}
body.troly-app .v27-pagination>span{margin-right:auto;color:#666;}
body.troly-app .v27-page-link{display:inline-flex;align-items:center;justify-content:center;min-width:35px;min-height:35px;padding:6px;border:1px solid rgba(17,17,17,.08);border-radius:11px;background:rgba(255,255,255,.76);color:#111;text-decoration:none;}
body.troly-app .v27-page-link.is-current{background:#000;color:#FFD700;}
body.troly-app .v27-empty{padding:28px!important;color:#666;text-align:center;}
body.troly-app .v27-task-row.v27-highlight{background:rgba(255,215,0,.08);}
body.troly-app .v27-dialog{position:fixed;inset:0 0 0 auto;box-sizing:border-box;margin:0 0 0 auto;padding:0;width:min(700px,92vw);max-width:100vw;max-height:100dvh;height:100dvh;overflow:hidden;background:linear-gradient(180deg,#FCFCFD,#F5F7FA);color:#151515;border:0;border-left:1px solid rgba(255,255,255,.72);box-shadow:-18px 0 75px rgba(0,0,0,.18);border-radius:18px 0 0 18px;}
body.troly-app .v27-dialog:not([open]){display:none;}
body.troly-app .v27-dialog[open]{display:flex;flex-direction:column;}
body.troly-app .v27-dialog::backdrop{background:rgba(8,12,18,.48);}
body.troly-app .v27-dialog-head{background:#FFFFFF;flex:none;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid rgba(17,17,17,.08);padding:18px 22px;}
body.troly-app .v27-dialog-head h2{font-size:18px;line-height:1.35;color:#101010;letter-spacing:-.025em;margin:4px 0 0;font-weight:770;overflow-wrap:anywhere;}
body.troly-app .v27-dialog-close{border:1px solid rgba(17,17,17,.10);background:rgba(255,255,255,.82);color:#111;font-size:26px;line-height:1;border-radius:12px;width:39px;height:39px;flex:0 0 auto;cursor:pointer;}
body.troly-app .v27-dialog-close:hover{background:#111;color:#FFD700;border-color:#111;}
body.troly-app .v27-dialog-body{overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scroll-behavior:auto;touch-action:pan-y;-webkit-overflow-scrolling:touch;min-height:0;flex:1 1 auto;padding:18px;}
body.troly-app .v27-dialog-body .task-card{width:100%;max-width:100%;margin:0!important;border-radius:16px!important;box-shadow:none!important;background:linear-gradient(160deg,rgba(255,255,255,.95),rgba(255,255,255,.88))!important;}
body.troly-app .v27-dialog-body .task-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}
body.troly-app .v27-dialog-body .task-card-top{gap:9px;}
body.troly-app .v27-dialog-body .v26-extension{min-width:0;}
body.troly-app .v27-dialog-foot{flex:none;border-top:1px solid rgba(17,17,17,.08);background:#FFFFFF;display:flex;gap:8px;align-items:center;justify-content:flex-end;padding:11px 20px;}
body.troly-app .v27-loading{padding:25px 10px;text-align:center;color:#666;}
body.troly-app .v27-error{padding:14px;background:#fff1f1;color:#c42121;border-radius:9px;margin-bottom:10px;}
@media (max-width:1100px){body.troly-app .v27-kpis{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media (max-width:767px){body.troly-app .v27-workspace{gap:10px;}
body.troly-app .v27-head h2{font-size:19px;}
body.troly-app .v27-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;}
body.troly-app .v27-kpis>div{padding:9px 7px;border-radius:11px;}
body.troly-app .v27-kpis strong{font-size:21px;line-height:1.25;}
body.troly-app .v27-kpis span{font-size:11px;line-height:1.3;min-height:0;letter-spacing:-.015em;}
body.troly-app .v27-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:11px;gap:8px;}
body.troly-app .v27-filters .v27-search{grid-column:1/-1;}
body.troly-app .v27-filters label:not(.v27-search){min-width:0;}
body.troly-app .v27-filters label select{width:100%;min-width:0;}
body.troly-app .v27-filters>.btn{width:100%;min-width:0;}
body.troly-app .v27-table-caption{font-size:11px;}
body.troly-app .v27-table{min-width:0;width:100%;table-layout:fixed;}
body.troly-app .v27-table th:nth-child(2),body.troly-app .v27-table td:nth-child(2),body.troly-app .v27-table th:nth-child(3),body.troly-app .v27-table td:nth-child(3),body.troly-app .v27-table th:nth-child(4),body.troly-app .v27-table td:nth-child(4),body.troly-app .v27-table th:nth-child(5),body.troly-app .v27-table td:nth-child(5){display:none;}
body.troly-app .v27-table th:nth-child(1),body.troly-app .v27-table td:nth-child(1){width:74%;}
body.troly-app .v27-table th:nth-child(6),body.troly-app .v27-table td:nth-child(6){width:26%;}
body.troly-app .v27-table th,body.troly-app .v27-table td{padding:10px 8px;}
body.troly-app .v27-table .v27-title-cell{min-width:0;}
body.troly-app .v27-title-text{font-size:12.5px;line-height:1.4;}
body.troly-app .v27-row-secondary{font-size:10.5px;gap:4px 7px;}
body.troly-app .v27-mobile-status{display:inline-flex;align-items:center;}
body.troly-app .v27-status{white-space:normal;font-size:10.5px;padding:3px 7px;}
body.troly-app .v27-open-full{display:none;}
body.troly-app .v27-open-short{display:inline;}
body.troly-app .v27-open{font-size:12px;white-space:nowrap;min-height:42px;padding:7px 10px;gap:5px;}
body.troly-app .v27-dialog{inset:0;width:100vw;max-width:100vw;height:100dvh;border-radius:0;}
body.troly-app .v27-dialog-head{padding:12px 14px;}
body.troly-app .v27-dialog-body{padding:12px;}
body.troly-app .v27-dialog-body .task-metrics{grid-template-columns:minmax(0,1fr);}
body.troly-app .v27-dialog-foot{padding:12px;}}
@media (max-width:360px){body.troly-app .v27-table th,body.troly-app .v27-table td{padding:9px 7px;}
body.troly-app .v27-open{font-size:11.5px;padding:7px 9px;}}
@media (prefers-reduced-motion:reduce){body.troly-app .v27-task-row{transition:none;}}
body.troly-app .v27-dialog [hidden]{display:none!important;}
body.troly-app .v27-dialog [data-v27-editor] .task-form-panel{margin:0!important;box-shadow:none!important;border:0!important;padding:6px!important;}
body.troly-app .v27-dialog [data-v27-editor] .task-form{grid-template-columns:repeat(2,minmax(0,1fr));}
body.troly-app .v27-session-history{margin:14px 0 0;background:rgba(255,255,255,.52);border:1px solid rgba(17,17,17,.08);border-radius:14px;padding:13px;}
body.troly-app .v27-session-history summary{font-size:13px;font-weight:720;cursor:pointer;color:#111;}
body.troly-app .v27-session-rows{display:grid;gap:6px;margin:11px 0;font-size:12px;color:#666;max-height:none;overflow:visible;}
body.troly-app .v27-session-rows>div{padding:8px;background:rgba(255,255,255,.62);border-radius:10px;border:1px solid rgba(17,17,17,.05);}
@media (max-width:767px){body.troly-app .v27-dialog [data-v27-editor] .task-form{grid-template-columns:minmax(0,1fr);}}
body.troly-app .v9-page{max-width:1450px;}
.v34-compose{width:min(100%,720px);margin:0 auto 26px;border:1px solid rgba(28,35,42,.1);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(255,255,255,.90));box-shadow:0 14px 42px rgba(16,23,36,.09),0 2px 7px rgba(16,23,36,.03);overflow:hidden;color:#15191e;}
.v34-compose-launch{display:flex;align-items:center;gap:13px;border:0;background:transparent;color:#59616e;width:100%;min-height:65px;padding:17px 23px;font:600 15px/1.4 Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;text-align:left;cursor:text;}
.v34-compose-launch>span{display:grid;place-items:center;width:29px;height:29px;color:#24282e;font-size:21px;font-weight:400;}
.v34-compose-launch[aria-expanded="true"]{display:none;}
.v34-compose-expanded[hidden]{display:none;}
.v34-compose-expanded{display:grid;gap:11px;padding:16px 20px 15px;}
.v34-compose-expanded>[data-v34-title],.v34-compose-expanded>[data-v34-body]{border:0;background:transparent;color:#15191e;outline:none;width:100%;min-width:0;font-family:inherit;box-shadow:none;}
.v34-compose-expanded>[data-v34-title]{font-size:18px;font-weight:750;line-height:1.4;padding:6px 2px;}
.v34-compose-expanded>[data-v34-body]{font-size:15px;line-height:1.67;min-height:96px;resize:vertical;padding:4px 2px;}
.v34-compose-expanded>[data-v34-title]:focus,.v34-compose-expanded>[data-v34-body]:focus{box-shadow:none;outline:none;}
.v34-compose-expanded>[data-v34-title]::placeholder,.v34-compose-expanded>[data-v34-body]::placeholder{color:#9099a4;}
.v34-compose-options{display:grid;grid-template-columns:minmax(155px,.5fr) minmax(0,1fr);gap:9px;}
.v34-compose-options input,.v34-compose-options select{height:41px;width:100%;min-width:0;padding:8px 12px;border-radius:10px;border:1px solid rgba(28,35,42,.11);background:rgba(247,248,250,.8);color:#252a31;font:inherit;font-size:13px;}
.v34-compose-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding-top:12px;border-top:1px solid rgba(26,33,41,.075);}
.v34-compose-tools,.v34-compose-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.v34-compose-tools button,.v34-compose-actions button{min-height:39px;padding:7px 11px;border-radius:10px;font:650 13px/1.3 Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;cursor:pointer;}
.v34-compose-tools button,.v34-compose-actions .v34-close{color:#343a42;background:rgba(245,247,249,.75);border:1px solid rgba(28,35,42,.085);}
.v34-compose-tools button:hover,.v34-compose-actions .v34-close:hover{background:#eaedf1;}
.v34-compose-tools .v34-compose-pin[aria-pressed="true"]{background:#fff8cd;border-color:#e7d26e;color:#554400;}
.v34-compose-actions .v34-done{color:#fff;background:#000;border:1px solid #000;}
.v34-compose-actions .v34-done:hover{color:#ffd700;}
.v34-compose-actions .v34-done:disabled{opacity:.6;cursor:wait;}
.v34-compose-actions [data-v34-status]{font-size:12px;color:#667078;}
.v34-compose-actions [data-v34-status].is-error{color:#dc2626;}
.v34-check-items{display:grid;gap:7px;}
.v34-check-row{display:grid;grid-template-columns:22px minmax(0,1fr) 32px;align-items:center;gap:9px;min-height:41px;padding:3px 2px;}
.v34-check-row [type="checkbox"]{width:17px;height:17px;accent-color:#151515;cursor:pointer;}
.v34-check-row [type="text"]{width:100%;border:0;border-bottom:1px solid rgba(28,35,42,.10);padding:9px 6px;background:transparent;color:#20242a;font:inherit;font-size:14px;outline:none;}
.v34-check-row [type="checkbox"]:checked+[type="text"]{text-decoration:line-through;color:#888;}
.v34-check-row button{width:29px;height:29px;border:0;border-radius:8px;background:transparent;color:#b43737;font-size:21px;cursor:pointer;}
.v34-editor-more{border:1px solid rgba(28,35,42,.09);border-radius:12px;background:rgba(250,251,252,.78);padding:10px 13px;}
.v34-editor-more>summary{cursor:pointer;font-size:13px;color:#394653;font-weight:700;min-height:25px;}
.v34-editor-options{display:grid;gap:12px;padding-top:12px;}
body.troly-app .v9-notes-grid{align-items:start;}
body.troly-app .v9-no-match{font-size:14px;padding:54px 15px;color:#687382;}
@media (max-width:650px){.v34-compose{margin-bottom:18px;border-radius:15px;}
.v34-compose-launch{min-height:57px;padding:12px 16px;}
.v34-compose-expanded{padding:13px;gap:9px;}
.v34-compose-options{grid-template-columns:1fr;}
.v34-compose-actions{width:100%;justify-content:flex-end;}
.v34-compose-actions [data-v34-status]{margin-right:auto;}
.v34-compose-footer{gap:10px;}}
@media (prefers-reduced-transparency:reduce){.v34-compose{background:#fff;}}

/* v40: Giao diện điều hành theo dự án — các selector mới, không ghi đè CSS cũ. */
.v40-project-page{display:grid;gap:18px;max-width:1600px;margin:0 auto;min-width:0;}
.v40-project-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;background:#fff;border:1px solid rgba(23,35,51,.1);border-radius:18px;padding:22px;}
.v40-project-top h2{font-size:clamp(22px,2.4vw,31px);line-height:1.25;margin:9px 0;color:#151c25;overflow-wrap:anywhere;}
.v40-project-top p{color:#5e6772;margin:0 0 10px;line-height:1.65;}
.v40-project-top small{color:#697381;}
.v40-back,.v40-overline{display:inline-block;font-size:12px;margin-bottom:7px;}
.v40-back{color:#344ebc;text-decoration:none;font-weight:700;}
.v40-overline{font-weight:800;letter-spacing:.11em;color:#6b7280;display:block;}
.v40-project-actions{display:flex;gap:8px;flex-wrap:wrap;}
.v40-project-actions .btn{min-height:40px;display:inline-flex;align-items:center;}
.v40-project-kpis,.v40-money-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.v40-project-kpis>div,.v40-money-kpis>div{border:1px solid rgba(24,38,56,.095);border-radius:15px;padding:17px;background:#fff;min-width:0;}
.v40-project-kpis span,.v40-money-kpis span{font-size:12px;color:#687281;display:block;margin-bottom:8px;}
.v40-project-kpis strong,.v40-money-kpis strong{display:block;color:#16202e;font-size:clamp(17px,2vw,24px);overflow-wrap:anywhere;line-height:1.3;}
.v40-project-kpis small{display:block;margin-top:7px;font-size:12px;color:#757e8a;line-height:1.5;}
.v40-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start;}
.v40-project-panel{min-width:0;overflow:hidden;}
.v40-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:15px;}
.v40-section-head h3{margin:0 0 6px;font-size:17px;color:#1b2632;}
.v40-section-head p{color:#697484;font-size:12px;line-height:1.55;margin:0;max-width:680px;}
.v40-section-head a{font-size:13px;color:#354cbb;text-decoration:none;font-weight:700;white-space:nowrap;}
.v40-linked-row{display:flex;justify-content:space-between;flex-direction:column;gap:5px;padding:11px 4px;border-bottom:1px solid rgba(22,33,47,.075);color:#202833;text-decoration:none;}
.v40-linked-row strong{font-size:13px;font-weight:700;line-height:1.45;overflow-wrap:anywhere;}
.v40-linked-row small{color:#6a7583;font-size:12px;}
.v40-linked-row:hover,.v40-linked-row:focus-visible{background:rgba(244,246,250,.85);color:#283c8f;}
.v40-empty{color:#6a7482;background:#f7f9fb;border:1px dashed #dbe1e8;padding:16px;border-radius:12px;font-size:13px;line-height:1.7;}
.v40-month-form{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;}
.v40-month-form label{font-size:12px;color:#485465;display:grid;gap:5px;}
.v40-month-form select,.v40-month-form input[type="month"]{min-height:42px;width:155px;max-width:100%;font-size:13px;}
.v40-month-form input:disabled{opacity:.55;cursor:not-allowed;}
.v40-money-kpis{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:15px;}
.v40-money-kpis>div{background:#f9fafc;}
.v40-tx-table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.v40-tx-table{width:100%;border-collapse:collapse;min-width:470px;font-size:13px;text-align:left;}
.v40-tx-table th{background:#f4f6f8;font-size:12px;color:#586374;}
.v40-tx-table th,.v40-tx-table td{padding:12px 10px;border-bottom:1px solid #e8ebef;vertical-align:top;}
.v40-tx-table td:nth-child(2){overflow-wrap:anywhere;}
.v40-tx-table td:last-child{text-align:right;white-space:nowrap;font-weight:750;}
.v40-tx-table .is-income{color:#137447;}
.v40-tx-table .is-expense{color:#a83b40;}
.v40-footnote{font-size:12px;color:#626d7b;line-height:1.7;margin:12px 0 0;}
.v40-form-prefill{font-size:12px;color:#284573;background:#f3f7ff;border:1px solid #d8e4f8;border-radius:10px;padding:11px;line-height:1.6;}
.v40-notes-project{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border:1px solid #dae1ee;border-radius:14px;background:#f7f9fe;padding:13px 16px;margin-bottom:15px;}
.v40-notes-project>div{display:grid;gap:3px;}
.v40-notes-project a{font-size:12px;text-decoration:none;color:#3957aa;font-weight:700;}
.v40-notes-project strong{font-size:15px;overflow-wrap:anywhere;}
.v40-notes-project small{font-size:12px;color:#667589;}
.v40-report-link{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;padding:13px 14px;border-radius:12px;background:#f5f7fb;margin-bottom:14px;}
.v40-report-link>div{display:grid;gap:5px;}
.v40-report-link strong{font-size:13px;color:#253349;}
.v40-report-link small{font-size:12px;color:#68778a;}
@media(max-width:1000px){.v40-project-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}.v40-project-grid{grid-template-columns:minmax(0,1fr);}}
@media(max-width:640px){.v40-project-page{gap:12px;}.v40-project-top{padding:15px;flex-direction:column;}.v40-project-kpis,.v40-money-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}.v40-project-kpis>div,.v40-money-kpis>div{padding:12px 14px;}.v40-project-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}.v40-project-actions .btn{font-size:12px;text-align:center;justify-content:center;padding:9px 7px;}.v40-project-panel{padding:14px;}.v40-month-form{width:100%;}.v40-month-form label{flex:1;}.v40-month-form select,.v40-month-form input[type="month"]{width:100%;}.v40-section-head a{white-space:normal;}.v40-money-kpis strong{font-size:19px;}}

/* v41 — Thành phần UX mới: phân nhóm menu một cấp, tạo dự án và phạm vi lọc. */
.v41-nav-section{display:block;margin:12px 12px 3px;font-size:10px;font-weight:800;letter-spacing:.13em;color:#a7a7a7;user-select:none;}
.v41-project-listbar{align-items:center;}
.v41-project-list-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.v41-project-list-actions .btn{min-height:40px;}
/* Secondary project actions stay collapsed until explicitly requested. */
.v41-project-card-actions{gap:8px;}
.v41-project-more{position:relative;min-width:0;flex:1 0 100%;border-top:1px solid #e8ebef;padding-top:6px;}
.v41-project-more>summary{list-style:none;min-height:38px;padding:9px 10px;display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:12px;color:#3d5167;border-radius:8px;cursor:pointer;}
.v41-project-more>summary::-webkit-details-marker{display:none;}
.v41-project-more[open]>summary,.v41-project-more>summary:hover{background:#f1f4f8;}
.v41-project-more-inner{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:8px 0;}
.v41-project-more-inner .btn{min-height:38px;}
.v41-project-forms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start;margin:18px 0;}
.v41-project-form{min-width:0;border:1px solid #dde3eb;border-radius:14px;background:#fff;overflow:hidden;scroll-margin-top:95px;}
.v41-project-form>summary{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:46px;padding:12px 15px;cursor:pointer;list-style:none;font-size:14px;font-weight:700;color:#172436;}
.v41-project-form>summary::-webkit-details-marker{display:none;}
.v41-project-form>summary span{color:#6b7280;transition:transform .2s ease;}
.v41-project-form[open]>summary{border-bottom:1px solid #e8ebf0;}
.v41-project-form[open]>summary span{transform:rotate(180deg);}
.v41-project-form-content{padding:16px;}
.v41-task-scope{font-size:12.5px;line-height:1.5;margin:5px 0 0;color:#56616f;}
.v41-task-scope a{color:#3451a8;font-weight:700;text-underline-offset:2px;}
@media(max-width:1250px){.v5-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:850px){.v41-project-forms{grid-template-columns:minmax(0,1fr);}}
@media(max-width:620px){.v5-project-grid{grid-template-columns:minmax(0,1fr);}.v41-project-listbar{align-items:stretch;}.v41-project-list-actions{width:100%;}.v41-project-list-actions .btn{flex:1;justify-content:center;}.v41-project-form{scroll-margin-top:75px;}.v18-bottom-nav .v41-nav-label{font-size:10px;} }
@media(max-width:360px){.v40-project-kpis strong,.v40-money-kpis strong{font-size:16px;}.v40-project-kpis>div,.v40-money-kpis>div{padding:10px;}}
@media(prefers-reduced-motion:reduce){.v41-project-form>summary span{transition:none;}}

/* v44 Cash-flow planning — self-contained components, no overrides of existing rules. */
.v44-cash-section{margin:18px 0 24px;display:grid;gap:16px}
.v44-cash-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:24px 26px;border:1px solid #e6e9ee;border-radius:20px;background:#fff}
.v44-cash-heading h2{margin:4px 0 9px;font-size:22px;line-height:1.3;color:#101828}
.v44-cash-heading p{margin:0;max-width:760px;color:#637083;line-height:1.6;font-size:14px}
.v44-overline{font-size:11px;font-weight:800;letter-spacing:1.5px;color:#9a8000}
.v44-cash-heading .btn{flex-shrink:0}
.v44-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.v44-summary-grid article{display:grid;gap:6px;padding:18px 20px;background:#fff;border:1px solid #e9edf2;border-radius:16px;min-width:0}
.v44-summary-grid article>span{color:#536279;font-size:13px;font-weight:600}
.v44-summary-grid article strong{font-size:24px;color:#141b2a;overflow-wrap:anywhere}
.v44-summary-grid article small{font-size:12px;color:#7b8795}
.v44-summary-grid article:first-child strong{color:#11674b}
.v44-summary-grid article:nth-child(3) strong{color:#ad3943}
.v44-overdue-note{margin:0;border:1px solid #f1d5a8;border-radius:12px;padding:12px 16px;background:#fff9ed;color:#9d5a0c;font-size:13px}
.v44-plan-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,0.8fr);gap:16px;align-items:start}
.v44-plan-layout>.panel{min-width:0;margin:0}
.v44-plan-list,.v44-create-panel{padding:22px}
.v44-list-title{display:flex;justify-content:space-between;align-items:center;gap:12px}
.v44-list-title h3,.v44-create-panel h3{margin:0;font-size:18px}
.v44-list-title small{color:#667085}
.v44-filter{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin:16px 0;border-bottom:1px solid #eff0f3;padding-bottom:16px}
.v44-filter label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:650;color:#536279;flex:1;min-width:120px}
.v44-filter select{width:100%;min-height:42px;padding:8px 10px;border:1px solid #dce2e9;border-radius:10px;background:#fff}
.v44-plan-row{padding:16px 0;border-top:1px solid #edf0f3;display:grid;gap:10px}
.v44-plan-title{display:flex;flex-wrap:wrap;align-items:center;gap:7px}
.v44-plan-title strong{color:#172033;font-size:15px}
.v44-kind,.v44-state{display:inline-flex;align-items:center;border-radius:100px;padding:4px 8px;font-size:11px;font-weight:700}
.v44-kind.income{color:#096849;background:#e9f7f1}
.v44-kind.expense{color:#a5333c;background:#fff1f2}
.v44-state{color:#715800;background:#fff7dc}
.v44-plan-sub{font-size:12px;color:#697686;line-height:1.6;margin-top:7px}
.v44-plan-money{margin-top:12px;display:flex;flex-wrap:wrap;gap:14px 20px;font-size:12px;color:#647286}
.v44-plan-money span{display:flex;flex-wrap:wrap;gap:5px}
.v44-plan-money b{color:#172033;font-size:13px}
.v44-plan-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.v44-create-panel [hidden]{display:none}
.v54-delete-form{margin:0}
.v44-plan-actions .v54-delete-btn{color:#a6333b;border-color:#f0cbce;background:#fff}
.v44-plan-actions .v54-delete-btn:hover{background:#fff1f2;border-color:#de9096}
#troly-cash-plan-form,#troly-cash-plans{scroll-margin-top:150px}
.v44-plan-more>summary,.v44-history>summary{cursor:pointer;color:#48556b;font-size:12px;font-weight:700;padding:8px 0}
.v44-plan-more{min-width:185px}
.v44-plan-more form{margin:10px 0}
.v44-plan-more label{font-size:12px;font-weight:600;display:grid;gap:7px}
.v44-plan-more select{max-width:100%;width:100%;border-radius:10px;min-height:42px}
.v44-history{font-size:12px;color:#667085;border-top:1px dashed #e2e7eb;padding-top:6px}
.v44-history>div{padding:5px 0}
.v44-pagination{display:flex;justify-content:space-between;align-items:center;margin:16px 0;gap:10px;font-size:12px;color:#667085}
.v44-empty{font-size:13px;color:#68778c;padding:24px 10px;text-align:center}
.v44-create-panel>p{color:#667085;font-size:13px;line-height:1.6}
.v44-create-panel input,.v44-create-panel select,.v44-create-panel textarea{width:100%;min-width:0}
.v44-disclaimer,.v44-link-help{font-size:12px;color:#657188;line-height:1.7;margin:0}
.v44-disclaimer{padding:13px 17px;border:1px solid #e5e8f0;background:#f8fafc;border-radius:12px}
.v44-link-help{padding:9px 12px;border-radius:10px;background:#f8fafc}
.v44-prefill{padding:12px;border:1px solid #dce4f5;background:#f8fbff;border-radius:10px;color:#365173;font-size:13px;line-height:1.5}
@media(max-width:1100px){.v44-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v44-plan-layout{grid-template-columns:1fr}}
@media(max-width:650px){.v44-cash-heading{padding:16px;flex-direction:column}.v44-cash-heading h2{font-size:19px}.v44-summary-grid{gap:9px}.v44-summary-grid article{padding:12px}.v44-summary-grid article strong{font-size:19px}.v44-plan-list,.v44-create-panel{padding:14px}.v44-plan-money{gap:7px 12px}.v44-plan-actions .btn{white-space:normal}.v44-filter{align-items:stretch}.v44-filter .btn{width:100%}}
@media(max-width:350px){.v44-summary-grid{grid-template-columns:1fr}}

.v44-unlink-form{display:inline-block;margin:5px 0 4px 8px}.v44-unlink-form .btn{padding:5px 8px;font-size:11px}

/* v45: source allocation dashboard; scoped to avoid affecting existing modules */
.v45-panel{background:#fff;border:1px solid #e7e9ef;border-radius:22px;padding:24px;margin:22px 0;box-shadow:0 10px 32px rgba(24,36,56,.045)}
.v45-top h2{margin:4px 0 8px;font-size:23px}.v45-top p{color:#657084;margin:0 0 16px;max-width:900px}
.v45-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0 20px}.v45-tabs a{display:inline-flex;padding:9px 15px;color:#38465b;border:1px solid #e5e8ee;border-radius:12px;text-decoration:none;font-weight:600}.v45-tabs a.active{background:#141414;color:#fff;border-color:#141414}
.v45-scope{border-top:1px solid #edf0f3;padding-top:15px;margin-top:15px}.v45-scope h3{font-size:18px;margin:5px 0 15px}.v45-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.v45-kpis>div{border:1px solid #e9ecf1;border-radius:14px;background:#fafbfd;padding:17px;min-width:0}.v45-kpis small{display:block;color:#687589;font-size:13px}.v45-kpis strong{display:block;font-size:20px;overflow-wrap:anywhere;margin-top:8px}.v45-kpis .v45-negative strong,.v45-red{color:#b52d36}.v45-kpis .v45-positive strong,.v45-green{color:#147652}.v45-note,.v45-disclaimer{line-height:1.6;font-size:13px;color:#637082;margin:15px 0}.v45-disclaimer{border-top:1px solid #edf0f3;padding-top:15px}.v45-list{display:grid;gap:9px}.v45-expense{border:1px solid #e8ebf0;border-radius:13px;overflow:hidden}.v45-expense summary{display:flex;justify-content:space-between;align-items:center;gap:15px;cursor:pointer;padding:13px 15px;list-style:none}.v45-expense summary::-webkit-details-marker{display:none}.v45-expense summary strong{display:block}.v45-expense summary small{display:block;font-size:12px;color:#687589;margin-top:4px}.v45-numbers{text-align:right;flex-shrink:0}.v45-sources{background:#fafbfd;border-top:1px solid #eceef2;padding:12px 15px;color:#657084;font-size:13px}.v45-sources>div{display:flex;justify-content:space-between;gap:15px;padding:5px 0}.v45-empty{color:#687589}
@media(max-width:900px){.v45-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.v45-panel{padding:15px;border-radius:16px}.v45-kpis>div{padding:12px}.v45-kpis strong{font-size:17px}.v45-tabs a{padding:9px 12px;font-size:13px}.v45-expense summary{align-items:flex-start;flex-direction:column}.v45-numbers{text-align:left}}

/* TROLY v46 — distinct component rules, never overwrite pre-existing selectors. */
.v46-panel .v46-quick-links{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 18px}
.v46-quick-links a{display:inline-flex;align-items:center;padding:9px 12px;border:1px solid var(--border,#e2e8f0);border-radius:10px;text-decoration:none;color:inherit;font-size:13px;line-height:1.35}
.v46-quick-links a:hover,.v46-quick-links a:focus-visible{border-color:var(--primary,#3346a0);outline-offset:2px}
.v46-summary{font-size:13px;line-height:1.65;color:var(--text-muted,#526171);margin:12px 0}
.v46-summary p{margin:0 0 7px}
.v46-warn{padding:12px;border:1px solid #f1a6a6;border-radius:10px;color:#a22323}
.v46-transfer{margin:22px 0}.v46-transfer-list{display:grid;gap:9px;margin:12px 0}
.v46-transfer-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px;border:1px solid var(--border,#e2e8f0);border-radius:12px}
.v46-transfer-item>div:first-child{display:flex;flex-direction:column;gap:4px;min-width:0}
.v46-transfer-item small{font-size:12px;line-height:1.4;color:var(--text-muted,#526171)}
.v46-right{display:flex;flex-wrap:wrap;align-items:center;gap:9px;justify-content:flex-end}
.v46-right form{margin:0}.v46-details{margin-top:12px}
.v46-details summary{cursor:pointer;font-weight:650;padding:12px 0}
.v46-details form{max-width:600px;margin-top:10px}
.v46-pagination{display:flex;gap:12px;align-items:center;justify-content:center;margin-top:16px}
.v46-tx-filter{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin:12px 0 18px}
.v46-tx-filter label{display:grid;gap:4px;min-width:120px;flex:1 1 130px;font-size:12px}
.v46-tx-filter input,.v46-tx-filter select{width:100%;min-width:0}
.v46-tx-nature{display:block;font-size:11px;color:var(--text-muted,#526171);margin-top:3px}
.v46-tx-classify{margin-top:6px;max-width:260px}.v46-tx-classify summary{cursor:pointer;font-size:12px}
.v46-tx-classify form{display:grid;gap:6px;padding:7px 0}.v46-tx-classify select,.v46-tx-classify textarea{max-width:100%;min-width:0}
.v46-legacy-note{margin-top:12px;padding:12px 14px;border:1px solid var(--border,#e2e8f0);border-radius:12px;font-size:13px;line-height:1.55}
@media(max-width:720px){.v46-transfer-item{align-items:flex-start;flex-direction:column}.v46-right{justify-content:flex-start;width:100%}.v46-quick-links a{flex:1 1 45%;justify-content:center;text-align:center;min-height:42px}.v46-tx-filter label{flex:1 1 100%}}

/* v47: workspace switch and awareness; dedicated selectors only. */
.v47-space-switch{display:flex;gap:4px;padding:5px;margin:8px 12px 12px;background:rgba(120,137,171,.13);border-radius:12px}
.v47-space-switch a{display:flex;justify-content:center;align-items:center;text-align:center;flex:1;min-height:42px;padding:8px 6px;border-radius:9px;font-size:12px;font-weight:650;text-decoration:none;color:inherit;line-height:1.3}
.v47-space-switch a.active{background:var(--surface,#fff);color:var(--primary,#232f99);box-shadow:0 1px 5px rgba(0,0,0,.1)}
.v47-heading-scope{display:block;color:var(--muted,#657085);font-size:11px;font-weight:700;letter-spacing:.045em;margin-bottom:2px}
.v47-workspace-intro{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:22px 24px;border:1px solid rgba(117,131,159,.2);border-radius:17px;background:var(--surface,#fff);margin-bottom:18px}
.v47-workspace-intro h2{margin:3px 0 6px;font-size:22px}.v47-workspace-intro p{margin:0;max-width:710px;color:var(--muted,#5f6b7d)}
.v47-eyebrow{font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--primary,#232f99)}
.v47-mobile-space{display:none}
@media(max-width:800px){.v47-workspace-intro{align-items:flex-start;flex-direction:column;padding:18px}.v47-mobile-space{display:flex;position:fixed;bottom:65px;left:0;right:0;z-index:99;padding:5px 10px;gap:6px;justify-content:center;background:var(--surface,#fff);border-top:1px solid rgba(117,131,159,.16)}.v47-mobile-space a{flex:1;text-align:center;text-decoration:none;padding:7px 6px;border-radius:8px;line-height:1.25;font-size:12px;font-weight:600;color:inherit}.v47-mobile-space a.active{background:rgba(35,47,153,.12);color:#232f99}.content{padding-bottom:110px}}

.v47-finance-note{margin:0 0 18px;padding:12px 16px;border:1px solid rgba(35,47,153,.2);border-radius:12px;background:rgba(35,47,153,.045);font-size:13px;line-height:1.55}

.v47-legacy-info{padding:10px 14px;margin:0 0 18px;font-size:12px;line-height:1.65;color:var(--muted,#596577);border-left:3px solid #d5a51a;background:rgba(213,165,26,.055)}

/* v48 — new CEO brief and company follow-through components. No legacy overrides. */
.v48-brief,.v48-crm{margin:0 0 26px;padding:24px;border:1px solid #e2e8f0;border-radius:18px;background:#fff;box-shadow:0 8px 28px rgba(17,36,63,.035)}
.v48-brief-head,.v48-crm-head{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:19px}
.v48-overline{display:block;color:#4059a8;font-weight:750;letter-spacing:.09em;font-size:11px;margin-bottom:5px}
.v48-brief h2,.v48-crm h2{font-size:25px;line-height:1.25;margin:0 0 7px;letter-spacing:-.02em}
.v48-brief h3,.v48-crm h3{font-size:17px;margin:0 0 12px}
.v48-brief-head p,.v48-crm-head p,.v48-crm-editor p{margin:0;color:#627087;line-height:1.55;font-size:13px}
.v48-brief-head .btn{flex:0 0 auto}
.v48-brief-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin:0 0 10px}
.v48-brief-metrics>div{padding:14px 15px;min-width:0;border:1px solid #e5ebf3;border-radius:12px;background:#f8fafd;display:flex;flex-direction:column;gap:5px}
.v48-brief-metrics strong{font-size:27px;line-height:1;font-variant-numeric:tabular-nums;color:#253775}
.v48-brief-metrics span{font-size:12px;color:#596880}
.v48-count-note{font-size:11px;color:#7b8799;margin:0 0 18px}
.v48-brief-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(220px,.85fr);gap:18px}
.v48-brief-list,.v48-brief-side{min-width:0}
.v48-brief-item{display:flex;align-items:center;gap:12px;text-decoration:none;color:#25334d;border-bottom:1px solid #edf1f5;padding:12px 4px;transition:background .16s ease}
.v48-brief-item:hover,.v48-client-row:hover{background:#f5f7fd}
.v48-brief-item:focus-visible,.v48-client-row:focus-visible,.v48-shortcuts a:focus-visible{outline:2px solid #526bcc;outline-offset:2px}
.v48-brief-item>span:last-child{margin-left:auto;color:#6e7e93}
.v48-brief-tag{border-radius:7px;background:#edf1f9;color:#314b80;padding:5px 7px;font-size:11px;white-space:nowrap;flex:0 0 auto}
.v48-brief-tag.urgent{background:#fff0ef;color:#b9322b}
.v48-brief-copy{display:flex;flex-direction:column;gap:5px;min-width:0}
.v48-brief-copy strong{font-size:13px;line-height:1.4;overflow-wrap:anywhere}
.v48-brief-copy small{font-size:11px;color:#63728a;line-height:1.45}
.v48-brief-side{padding:15px;background:#f8fafd;border:1px solid #e8edf4;border-radius:13px}
.v48-shortcuts{display:flex;flex-wrap:wrap;gap:8px}
.v48-shortcuts a{border:1px solid #dfe6f2;background:#fff;color:#34476d;text-decoration:none;border-radius:9px;padding:9px 11px;font-weight:600;font-size:12px}
.v48-shortcuts a:hover{background:#eaf0ff}
.v48-other-scope{border-top:1px solid #e3e8f0;margin-top:18px;padding-top:14px}
.v48-other-scope strong{display:block;font-size:13px}
.v48-other-scope p{font-size:12px;color:#64718b;margin:7px 0;line-height:1.5}
.v48-other-scope a{color:#2853a1;font-size:12px;font-weight:600}
.v48-brief-empty{padding:13px 15px;border-radius:9px;background:#f7f9fd;color:#52617a;font-size:13px}
.v48-counter{padding:7px 10px;border-radius:9px;background:#fff5e3;color:#8a5906;font-size:12px;white-space:nowrap}
.v48-crm-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(285px,1fr);gap:18px}
.v48-crm-layout>.panel{margin:0;min-width:0;box-shadow:none}
.v48-contact-create{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.85fr) auto;align-items:end;gap:10px;padding:12px;border-radius:12px;background:#f8fafd;margin:0 0 12px}
.v48-contact-create label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600}
.v48-contact-create input{min-width:0;width:100%}
.v48-client-rows{max-height:720px;overflow:auto}
.v48-client-row{display:flex;align-items:center;justify-content:space-between;gap:12px;text-decoration:none;border-top:1px solid #ecf0f5;padding:13px 9px;color:#2a3651;border-radius:6px}
.v48-client-row.active{background:#edf2ff;border-color:#b9c7eb}
.v48-client-row>div{display:flex;flex-direction:column;gap:6px;min-width:0}
.v48-client-row strong{font-size:13px;overflow-wrap:anywhere}
.v48-client-row small{font-size:11px;color:#63738b}
.v48-client-row>span{font-size:11px;color:#6c7b8b;white-space:nowrap}
.v48-client-row>span.v48-late{color:#b23532;font-weight:700}
.v48-crm-editor .stack{margin-top:16px}
.v48-crm-links{display:flex;flex-direction:column;gap:10px;margin-top:15px;font-size:12px}
.v48-crm-links a,.v48-crm-old-link a{color:#304e9b;font-weight:600}
.v48-crm-footnote{font-size:12px;color:#61738c;margin:15px 0 0}
.v48-crm-legacy{margin-top:20px}
.v48-crm-legacy summary{cursor:pointer;font-weight:600;padding:12px}
.v48-crm-old-link{margin:14px 0;color:#3c5392;font-size:12px}
@media(max-width:900px){.v48-brief-layout,.v48-crm-layout{grid-template-columns:1fr}.v48-brief-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.v48-crm-head{flex-wrap:wrap}}
@media(max-width:630px){.v48-brief,.v48-crm{padding:14px;border-radius:12px}.v48-brief-head{flex-wrap:wrap}.v48-brief h2,.v48-crm h2{font-size:21px}.v48-contact-create{grid-template-columns:1fr}.v48-brief-item{gap:8px}.v48-brief-tag{font-size:10px}.v48-shortcuts a{flex:1 1 42%;text-align:center}}
@media(max-width:350px){.v48-brief-metrics>div{padding:11px 9px}.v48-brief-metrics strong{font-size:23px}.v48-client-row{align-items:flex-start;flex-wrap:wrap}}
/* v49: new, isolated components only. No overrides for existing layout rules. */
.v49-audit-panel{margin-block:20px}
.v49-audit-panel .v49-audit-table{width:100%;border-collapse:collapse}
.v49-audit-table th,.v49-audit-table td{padding:10px 12px;border-bottom:1px solid var(--border,#e5e7eb);text-align:left}
.v49-audit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}
.v49-audit-grid>div{padding:14px;border:1px solid var(--border,#e5e7eb);border-radius:12px;display:flex;flex-direction:column;gap:6px}
.v49-audit-grid b{font-size:22px;font-variant-numeric:tabular-nums}
.v49-audit-grid span,.v49-audit-hint{font-size:13px;color:var(--muted,#64748b)}
.v49-review-form,.v49-crm-search{display:flex;flex-wrap:wrap;gap:10px;align-items:end}
.v49-review-form label{flex:1 1 220px}
.v49-crm-search{margin:12px 0}
.v49-crm-search label{flex:1 1 160px}
.v49-crm-search input,.v49-review-form select,.v49-review-form input{width:100%}
.v49-crm-paging{display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0}
@media(max-width:720px){.v49-audit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v49-audit-table th,.v49-audit-table td{padding:8px 4px}}

/* v50: Cross-space task cockpit. Separate data, unified display. */
.v50-main{display:grid;gap:16px}.v50-head,.v50-report-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.v50-head h2,.v50-report h2{margin:0 0 6px}.v50-head p,.v50-report-title p{margin:0;color:var(--muted,#64748b);font-size:13px}.v50-head-actions{display:flex;gap:8px;flex-wrap:wrap}.v50-report{display:grid;gap:12px}.v50-report-title form label{display:flex;gap:8px;align-items:center;white-space:nowrap;font-size:13px}.v50-report-title select{max-width:155px}.v50-report-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.v50-report-card{border:1px solid #e1e6ee;border-radius:13px;background:#fff;padding:16px;display:grid;gap:11px;min-width:0}.v50-report-combined{background:#f4f7fd}.v50-report-label{font-size:13px}.v50-report-primary{display:flex;align-items:baseline;gap:9px}.v50-report-primary strong{font-size:30px;font-weight:750;line-height:1}.v50-report-primary span{font-size:12px;color:#64748b}.v50-report-items{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:#475569}.v50-report-items strong{color:#172338}.v50-report-card>a{font-size:12px;color:#232f99}.v50-report-footnote,.v50-create-note{font-size:12px;color:#64748b;line-height:1.5;margin:0}.v50-source{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:650;white-space:nowrap}.v50-company{background:#e9efff;color:#263c91}.v50-personal,.v50-family,.v50-home{background:#edf7ed;color:#25613e}.v50-scope-nav{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:0 0 15px;font-size:13px}.v50-scope-nav a{color:#232f99}.v50-list .v27-table td{vertical-align:middle}.v50-list .v27-table th{white-space:nowrap}.v50-create .task-form{margin:0}.v50-create .form-actions{display:flex;gap:8px;flex-wrap:wrap}.v50-table{min-width:810px}

/* v62: two separate controls, read-only step overview, edit step workspace */
.v62-row-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.v62-row-actions .btn{white-space:nowrap;font-size:12px;min-height:35px;cursor:pointer}
.v62-row-actions .v62-view-btn{background:#fff;border:1px solid #cad6e5;color:#172338}
.v62-row-actions .v62-view-btn:hover{background:#eaf0ff;border-color:#8fa4d4}
.v62-row-actions .v62-edit-btn{color:#fff;background:#142046;border:1px solid #142046}
.v62-row-actions .v62-edit-btn:hover{background:#232f99;border-color:#232f99}
body.troly-app .v62-dialog{box-sizing:border-box;position:fixed;inset:0 0 0 auto;width:min(700px,94vw);max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;border-radius:18px 0 0 18px;background:#fff;color:#142038;box-shadow:-14px 0 50px rgba(0,0,0,.20);overflow:hidden}
body.troly-app .v62-dialog:not([open]){display:none}
body.troly-app .v62-dialog[open]{display:flex;flex-direction:column}
body.troly-app .v62-dialog::backdrop{background:rgba(14,20,38,.48)}
.v62-dialog-head{padding:17px 21px;border-bottom:1px solid #e5eaf1;display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none}
.v62-dialog-head h2{margin:4px 0 0;font-size:20px;line-height:1.35;overflow-wrap:anywhere}
.v62-eyebrow{color:#5b6c89;font-size:11px;letter-spacing:.06em;font-weight:700}
.v62-dialog-close{width:40px;height:40px;flex:none;border:1px solid #dfe5ee;border-radius:11px;background:#fff;color:#162443;font-size:27px;cursor:pointer}
.v62-dialog-body{flex:1;overflow:auto;overscroll-behavior:contain;padding:20px;min-height:0}
.v62-dialog-footer{flex:none;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;padding:14px 20px;border-top:1px solid #e5eaf1}
.v62-dialog-footer [hidden]{display:none}
.v62-detail{display:grid;gap:19px}.v62-detail-status{display:flex;gap:7px;flex-wrap:wrap}.v62-detail-status span{border-radius:999px;background:#edf3fb;color:#263c65;padding:5px 10px;font-size:12px;font-weight:650}
.v62-detail-facts{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.v62-detail-facts>div{padding:12px 14px;border:1px solid #e7ebf3;border-radius:12px;min-width:0}.v62-detail-facts dt{font-size:12px;color:#64748b}.v62-detail-facts dd{font-size:14px;font-weight:700;margin:5px 0 0;overflow-wrap:anywhere}
.v62-progress-track{background:#e8edf3;border-radius:99px;height:7px;overflow:hidden}.v62-progress-track span{display:block;background:#d2aa00;height:100%;border-radius:99px}
.v62-step-section h3,.v62-note h3{margin:0 0 10px;font-size:16px}.v62-step-section h3 span{font-weight:500;color:#60708a;font-size:13px;margin-left:6px}
.v62-step-list{list-style:none;margin:0;padding:0;display:grid;gap:7px}.v62-step-list li{display:flex;gap:11px;align-items:center;padding:12px 13px;border:1px solid #e5eaf2;border-radius:11px;min-width:0}.v62-step-list li>span:nth-child(2){flex:1;overflow-wrap:anywhere}.v62-step-list li small{font-size:12px;color:#64748b;white-space:nowrap}.v62-step-mark{display:flex;align-items:center;justify-content:center;width:27px;height:27px;flex:none;border-radius:8px;background:#eef2f6;color:#64748b;font-weight:800}.v62-step-list li.is-done{background:#eaf8ee;border-color:#cbe7d3}.v62-step-list li.is-done .v62-step-mark{color:#17613c;background:#d4eedc}
.v62-note{padding:15px;border-radius:12px;background:#f7f9fc}.v62-note p{margin:0;line-height:1.65;overflow-wrap:anywhere}.v62-muted{color:#64748b;font-size:13px}.v62-session-history{border-top:1px solid #e9edf2;padding-top:14px}.v62-session-history summary{cursor:pointer;font-weight:700}.v62-session-history>div{font-size:13px;padding:8px 0;border-bottom:1px solid #e9edf2}
.v62-error{color:#b42318;background:#fff1f1;padding:14px;border-radius:10px}
.v62-edit-steps{padding:20px 22px 24px;border-top:1px solid #e5eaf1}.v62-edit-steps-head{margin-bottom:14px}.v62-edit-steps-head h3{margin:0 0 5px;font-size:18px}.v62-edit-steps-head p{margin:0;font-size:13px;color:#617188;line-height:1.6}
.v62-edit-steps .task-card{margin:0;border:1px solid #e2e8f0;box-shadow:none;max-width:100%}.v62-edit-steps .task-card .steps{margin-top:10px}
@media(max-width:680px){body.troly-app .v62-dialog{inset:0;width:100vw;height:100dvh;border-radius:0}.v62-dialog-head,.v62-dialog-body,.v62-dialog-footer{padding:13px}.v62-detail-facts{grid-template-columns:1fr}.v62-step-list li{flex-wrap:wrap}.v62-step-list li small{margin-left:38px}.v62-row-actions{justify-content:flex-end}.v62-edit-steps{padding:13px}}

/* Unified list: PHP marks tasks with status=done. Keep text/buttons legible. */
body.troly-app .v50-table tbody tr.v50-task-completed td{background:#eaf8ee;}
body.troly-app .v50-table tbody tr.v50-task-completed:hover td{background:#dff2e5;}
body.troly-app .v50-table tbody tr.v50-task-completed .v27-status{background:#d5efdf;color:#17613c;border-color:#b9e0c7;}

@media(max-width:860px){.v50-head,.v50-report-title{flex-direction:column}.v50-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v50-report-combined{grid-column:span 2}}
@media(max-width:520px){.v50-table{min-width:0;width:100%}.v50-table thead{display:none}.v50-table tbody,.v50-table tr,.v50-table td{display:block;width:100%;box-sizing:border-box}.v50-table tbody tr{border:1px solid #e1e6ee;border-radius:11px;padding:11px;margin:0 0 10px}.v50-table tbody tr.v50-task-completed{background:#eaf8ee;border-color:#cbe8d5}
body.troly-app .v50-table tbody tr.v50-task-completed td{background:transparent}
body.troly-app .v50-table tbody tr.v50-task-completed:hover td{background:transparent}
.v50-table tbody td{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:6px 0;border:0;font-size:13px}.v50-table tbody td::before{content:attr(data-label);font-size:12px;color:#64748b;flex:0 0 85px}.v50-table tbody td:first-child{display:block}.v50-table tbody td:first-child::before{display:block;margin:0 0 3px}.v50-table tbody td:last-child a{margin-left:auto}.v50-report-grid{grid-template-columns:1fr}.v50-report-combined{grid-column:auto}.v50-report-card{padding:13px}.v50-head-actions{width:100%}.v50-head-actions .btn{flex:1}.v50-report-title form{width:100%}.v50-report-title form label{justify-content:space-between}.v50-create .task-form{grid-template-columns:1fr}}

/* v51: independent new components, no overrides of earlier declarations. */
.v51-rem-space{display:block;font-size:.7rem;font-weight:700;letter-spacing:.045em;opacity:.8;margin-bottom:.15rem}
.v51-finance-unclassified{border-left:3px solid #b7791f}
.v51-note{font-size:.9rem;line-height:1.6}
.v51-scope-label{display:inline-flex;margin-inline-start:.45rem;padding:.1rem .4rem;border-radius:.45rem;background:var(--surface-2,#eee);font-size:.77rem}
.v51-classify-row{padding:.75rem 0;border-top:1px solid rgba(125,125,125,.15)}
.v51-classify{display:flex;align-items:end;gap:.65rem;flex-wrap:wrap;margin-top:.35rem}
.v51-classify label{min-width:155px;flex:1}
.v51-ceo-cross{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem;padding:.8rem 1rem;border:1px solid rgba(125,125,125,.22);border-radius:12px;margin:1rem 0}
.v51-ceo-cross span{flex:1;min-width:180px;font-size:.88rem}
@media(max-width:600px){.v51-ceo-cross,.v51-classify{align-items:stretch;flex-direction:column}.v51-ceo-cross>*{width:100%}}

.v51-agenda{padding:1rem;margin:1rem 0;border:1px solid rgba(125,125,125,.20);border-radius:14px}
.v51-agenda-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:.75rem}
.v51-agenda-head h3{margin:0 0 .25rem}.v51-agenda-head p,.v51-agenda-foot{font-size:.82rem;opacity:.78;margin:.25rem 0}
.v51-agenda-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:.5rem}
.v51-agenda-items a{display:flex;flex-direction:column;gap:.15rem;padding:.65rem;border:1px solid rgba(125,125,125,.16);border-radius:9px;text-decoration:none;color:inherit}
.v51-agenda-when,.v51-agenda-items small{font-size:.77rem;opacity:.75}.v51-agenda-items strong{font-size:.9rem;overflow-wrap:anywhere}

/* v52: unified reminder history and explicit finance obligation reconciliation */
.v52-reminder-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:14px}
.v52-reminder-tools a{padding:7px 11px;border:1px solid var(--border,#dce2eb);border-radius:9px;text-decoration:none}
.v52-reminder-tools a[aria-current=page]{font-weight:700;background:var(--surface-alt,#eef2f7)}
.v52-reminder-entry{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #e6e8ef}
.v52-reminder-entry>div{min-width:0;flex:1}.v52-reminder-entry small{display:block;overflow-wrap:anywhere;margin-top:4px}
.v52-reminder-badge{display:inline-block;font-size:12px;border:1px solid #d6dce7;border-radius:10px;padding:2px 7px;margin-right:8px}
.v52-reminder-entry form{align-self:center;flex-shrink:0}.v52-reminder-entry button{white-space:nowrap}
.v52-reminder-pager{display:flex;gap:10px;margin-top:14px}
.v52-finance-note{font-size:13px;line-height:1.6}.v52-finance-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;border-top:1px solid #e6e8ef;padding:12px 0}
.v52-finance-row select{max-width:100%;min-width:0}.v52-finance-row form{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
@media(max-width:640px){.v52-reminder-entry,.v52-finance-row{display:block}.v52-reminder-entry form{margin-top:9px}.v52-finance-row>*+*{margin-top:10px}}

.v52-reconcile-details>summary{cursor:pointer;font-weight:700;padding:12px 0}.v52-reconcile-details[open]>summary{border-bottom:1px solid #e6e8ef;margin-bottom:8px}

/* v53 — unified VND input presentation (canonical amounts remain unformatted). */
input.troly-money-display { font-variant-numeric: tabular-nums; letter-spacing: .015em; }
input.troly-money-display[aria-invalid="true"] { border-color: #b93434; }
input.troly-money-display:focus { outline-offset: 2px; }
/* v56 finance: new standalone finance surfaces; loaded from the single canonical assets/troly.css */
.v56-finance-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#fff;border:1px solid #e6e9ef;padding:9px;border-radius:15px;margin:0 0 14px}
.v56-finance-nav a{display:inline-flex;align-items:center;justify-content:center;padding:11px 15px;font-size:13px;font-weight:700;color:#526071;border-radius:10px;text-decoration:none;white-space:nowrap;transition:background-color .15s,color .15s}
.v56-finance-nav a:hover{color:#152235;background:#f3f5f8}.v56-finance-nav a.is-current{color:#fff;background:#101828}
.v56-stat-strip{margin-bottom:15px;gap:10px}.v56-stat-strip>.stat{padding:14px 17px;min-height:90px}.v56-stat-strip>.stat span{font-size:12px}.v56-stat-strip>.stat strong{font-size:23px}
.v56-cash-section{display:grid;gap:14px;min-width:0}.v56-section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 22px;background:#fff;border:1px solid #e6e9ef;border-radius:16px}
.v56-section-heading h2{margin:0 0 4px;font-size:22px;color:#101828}.v56-section-heading p{margin:0;font-size:13px;line-height:1.5;color:#667085}
.v56-header-actions{display:flex;gap:8px;flex-wrap:wrap;flex-shrink:0}.v56-header-actions .btn{white-space:nowrap}
.v56-plan-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.v56-plan-kpis article{padding:15px 17px;border:1px solid #e6e9ef;border-radius:14px;background:#fff;min-width:0}
.v56-plan-kpis span{display:block;font-size:12px;font-weight:650;color:#667085;margin-bottom:6px}.v56-plan-kpis strong{display:block;white-space:nowrap;font-size:22px;line-height:1.35;font-variant-numeric:tabular-nums;color:#101828}
.v56-plan-kpis article:first-child strong{color:#14774e}.v56-plan-kpis article:nth-child(3) strong{color:#b42318}
.v56-inline-warning{padding:12px 16px;border-radius:12px;background:#fff8e9;border:1px solid #f5e0b6;color:#91530f;font-size:13px}
.v56-plan-list{background:#fff;border:1px solid #e6e9ef;border-radius:16px;min-width:0;overflow:hidden}
.v56-filterbar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;padding:16px 18px;border-bottom:1px solid #e8edf2}
.v56-filterbar label{display:grid;gap:5px;font-size:12px;font-weight:650;color:#526071;flex:1 1 150px;max-width:260px}
.v56-filterbar select{width:100%;min-height:40px;border:1px solid #dce3ec;border-radius:9px;padding:7px 10px;font-size:13px;background:#fff}.v56-filterbar small{margin-left:auto;white-space:nowrap;color:#667085;font-size:12px;align-self:center}
.v56-table-scroll{width:100%;max-width:100%;overflow-x:auto}
.v56-plan-table{border-collapse:collapse;min-width:850px;width:100%;font-size:13px;line-height:1.4;color:#344054}
.v56-plan-table th{padding:13px 12px;background:#f7f8fb;border-bottom:1px solid #e9edf2;text-align:left;font-size:11px;letter-spacing:.035em;text-transform:uppercase;color:#667085;font-weight:750;white-space:nowrap}
.v56-plan-table td{padding:12px 11px;border-bottom:1px solid #eaecf0;vertical-align:middle}
.v56-plan-table tbody tr:last-child td{border-bottom:none}.v56-plan-table tbody tr:hover{background:#fafbfe}
.v56-primary-cell{min-width:230px;max-width:300px}.v56-primary-cell strong{display:block;line-height:1.45;font-weight:730;color:#101828;overflow-wrap:anywhere}.v56-primary-cell small{display:block;font-size:11.5px;color:#667085;line-height:1.6;margin-top:4px}
.v56-kind{display:inline-flex;padding:2px 5px;border-radius:5px;font-size:10px;font-weight:800;letter-spacing:.02em}.v56-kind.income{background:#eaf7f1;color:#08754a}.v56-kind.expense{background:#ffeff0;color:#af273b}
.v56-money{white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:650;color:#1d2939}.v56-muted{font-weight:450;color:#667085}.v56-status{display:inline-flex;font-size:11px;border-radius:20px;padding:6px 9px;background:#fff5db;color:#8c5a00;white-space:nowrap}
.v56-actions-cell{min-width:155px}.v56-row-primary-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.v56-row-primary-actions .btn{padding:8px 10px;font-size:12px;white-space:nowrap}
.v56-more-actions{margin-top:7px;position:relative}.v56-more-link{display:inline-block;margin-top:8px;font-size:12px;color:#536179;text-decoration:none;font-weight:650}.v56-more-link:hover{color:#111827}.v56-more-actions>summary{list-style:none;font-size:12px;color:#536179;font-weight:650;cursor:pointer;width:max-content;padding:4px 0}.v56-more-actions>summary::-webkit-details-marker{display:none}
.v56-more-actions-body{display:grid;gap:9px;padding:12px 0;min-width:180px}.v56-more-actions-body form{margin:0;display:grid;gap:7px}.v56-more-actions-body label{display:grid;gap:5px;font-size:11px}.v56-more-actions-body select{min-height:38px;max-width:100%}.v56-history-mini{border-top:1px dashed #e9edf2;padding-top:7px;font-size:11px;color:#667085;line-height:1.5}.v56-history-mini>div{margin-top:9px}
.v56-no-data{text-align:center;padding:30px;color:#667085}
/* On-demand editor. The legacy cash plan handler and permission checks are unchanged. */
.v56-plan-drawer{display:none;position:fixed;top:0;right:0;width:min(510px,100vw);height:100dvh;overflow-y:auto;overscroll-behavior:contain;padding:0 25px 24px;border-left:1px solid #dce3eb;background:#fff;box-shadow:-15px 0 50px rgba(16,24,40,.18);z-index:10050}
.v56-plan-drawer[open]{display:block}.v56-drawer-backdrop{position:fixed;inset:0;background:rgba(16,24,40,.45);z-index:10040}.v56-drawer-backdrop[hidden]{display:none}.v56-drawer-visible{overflow:hidden}
.v56-plan-drawer>summary{display:block;list-style:none;cursor:pointer;position:sticky;top:0;margin:0 -25px 12px;padding:23px 52px 19px 25px;background:#fff;border-bottom:1px solid #edf0f3;font-size:19px;font-weight:800;color:#101828;z-index:1}
.v56-plan-drawer>summary::-webkit-details-marker{display:none}.v56-plan-drawer>summary::after{content:'×';position:absolute;right:22px;top:18px;font-size:26px;color:#475467}
.v56-plan-drawer>p{font-size:12.5px;line-height:1.6;color:#667085;margin:0 0 18px}.v56-plan-drawer form{display:grid;gap:13px}.v56-plan-drawer form>label,.v56-advanced>label{display:grid;gap:6px;font-size:13px;font-weight:650;color:#344054}
.v56-plan-drawer input,.v56-plan-drawer select,.v56-plan-drawer textarea{width:100%;min-width:0;background:#fff;border:1px solid #dce3eb;border-radius:10px;min-height:44px;padding:10px 12px;font-size:14px}
.v56-plan-drawer [hidden]{display:none}.v56-advanced{border:1px solid #e9edf2;border-radius:12px;padding:12px;margin:4px 0}.v56-advanced>summary{cursor:pointer;color:#475467;font-size:13px;font-weight:750;padding:3px 0}
.v56-advanced[open]{display:grid;gap:12px}.v56-advanced[open]>summary{margin-bottom:5px}.v56-drawer-actions{display:flex;gap:10px;margin-top:7px;flex-wrap:wrap}.v56-drawer-actions>.btn{flex:1;min-width:130px}
.v56-wallet-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:15px}.v56-wallet-list{min-width:0}.v56-transaction-accordion{min-width:0;margin:0;overflow:hidden}
.v56-transaction-accordion>summary{padding:5px 0;cursor:pointer;font-weight:800;font-size:19px;list-style:none}.v56-transaction-accordion>summary::-webkit-details-marker{display:none}.v56-transaction-body{border-top:1px solid #ebedf0;margin-top:12px;padding-top:15px}
.v56-transaction-body>form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.v56-transaction-body>form>label{min-width:0}.v56-transaction-body>form>p,.v56-transaction-body>form>input[type=hidden]{grid-column:1/-1}.v56-transaction-body>form>button[type=submit]{grid-column:1/-1;justify-self:end;min-width:190px}
/* Financial pages remain single-column until the required information is visible. */
@media(max-width:1100px){.v56-plan-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.v56-section-heading{flex-wrap:wrap}}
@media(max-width:680px){.v56-finance-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:6px}.v56-finance-nav a{white-space:normal;min-height:42px;padding:8px 5px;text-align:center;font-size:12px}
.v56-stat-strip{grid-template-columns:1fr 1fr}.v56-stat-strip>.stat:first-child{grid-column:1/-1}.v56-stat-strip>.stat strong{font-size:clamp(15px,4.3vw,19px);white-space:nowrap}.v56-plan-kpis{gap:7px}.v56-plan-kpis article{padding:10px}.v56-plan-kpis strong{font-size:17px;white-space:normal;overflow-wrap:anywhere}
.v56-section-heading{padding:15px}.v56-section-heading h2{font-size:19px}.v56-header-actions{width:100%}.v56-header-actions .btn{flex:1;text-align:center}
.v56-filterbar{gap:9px;padding:12px}.v56-filterbar label{flex:1 1 44%;min-width:0;max-width:none}.v56-filterbar .btn{min-height:40px}.v56-filterbar small{margin-left:0}
.v56-plan-table{min-width:0}.v56-plan-table thead{display:none}.v56-plan-table tbody{display:block}.v56-plan-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:14px;border-bottom:1px solid #eaecf0;gap:8px 12px}.v56-plan-table td{display:block;padding:0;border:none;min-width:0}.v56-plan-table td.v56-primary-cell{grid-column:1/-1;max-width:none}.v56-plan-table td.v56-actions-cell{grid-column:1/-1}.v56-plan-table td[data-label]::before{content:attr(data-label);display:block;font-size:10.5px;font-weight:600;color:#667085;margin-bottom:3px}.v56-plan-table .v56-money{white-space:normal}.v56-plan-table tr:hover{background:transparent}.v56-row-primary-actions .btn{flex:1}
.v56-plan-drawer{padding:0 16px 20px}.v56-plan-drawer>summary{margin:0 -16px 12px;padding-left:16px}.v56-transaction-body>form{grid-template-columns:1fr}.v56-transaction-body>form>button[type=submit]{justify-self:stretch}}
/* v57 – reusable confirmation/error dialog at source stylesheet */
.troly-v57-modal[hidden]{display:none}
.troly-v57-modal{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:20px}
.troly-v57-backdrop{position:absolute;inset:0;background:rgba(11,18,32,.55)}
.troly-v57-dialog{position:relative;width:min(100%,440px);background:white;color:#101828;border-radius:18px;padding:24px;text-align:center;box-shadow:0 24px 80px rgba(0,0,0,.22)}
.troly-v57-dialog h2{font-size:21px;line-height:1.3;margin:12px 0 8px}.troly-v57-dialog p{line-height:1.55;margin:0 0 20px;white-space:pre-line;overflow-wrap:anywhere}
.troly-v57-icon{display:grid;place-items:center;margin:0 auto;width:43px;height:43px;border-radius:50%;background:#fff4e5;color:#965a00;font-weight:800;font-size:22px}
.troly-v57-dialog button{min-width:120px}

