/* Control room theme: the legacy templates keep their routes and fields, but
   the backend now uses a graphite navigation, paper workspace and lime actions. */
:root {
  --ink:#17221f; --ink-soft:#53635e; --muted:#788782; --paper:#f3f1e9;
  --panel:#fffefa; --line:#dfe3d8; --night:#14221f; --night-2:#1d302b;
  --lime:#d7ff55; --lime-deep:#a9d92c; --orange:#f28b52; --red:#d85b5b;
  --blue:#5a90d8; --shadow:0 18px 45px rgba(28,40,35,.08);
  --shadow-tight:0 5px 18px rgba(28,40,35,.08); --radius:18px;
}
*{box-sizing:border-box} html,body{min-height:100%}
body,body.manage-page,body.auto-pay-page,body.profile-page,body.settings-page,body.site-page{
  color:var(--ink);background:var(--paper);font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif
}
a{color:inherit}button,input,select,textarea{font-family:inherit}
/* shell */
.lyear-layout-web,.lyear-layout-container{min-height:100vh}
.lyear-layout-sidebar{left:0;right:auto;z-index:30;width:280px;overflow:hidden;border:0;background:var(--night);box-shadow:12px 0 36px rgba(12,25,21,.14)}
.lyear-layout-sidebar:before{position:absolute;inset:0 0 auto 0;height:8px;content:"";background:var(--lime)}
.sidebar-header{height:110px;padding:28px 25px 22px;border-bottom:1px solid rgba(255,255,255,.1);background:transparent}
.sidebar-header .admin-brand{display:flex;align-items:center;gap:13px;color:#fff;text-align:left}.admin-brand:hover,.admin-brand:focus{color:#fff;text-decoration:none}
.brand-symbol{position:relative;display:inline-flex;width:43px;height:43px;flex:0 0 43px;align-items:flex-end;justify-content:center;gap:3px;padding:10px 8px;overflow:hidden;border-radius:14px 14px 5px 14px;background:var(--lime);box-shadow:none;transform:rotate(-5deg)}
.brand-symbol span{display:block;width:4px;border-radius:5px;background:var(--night)}
.brand-symbol span:nth-child(1){height:10px}.brand-symbol span:nth-child(2){height:18px}.brand-symbol span:nth-child(3){height:13px}.brand-symbol span:nth-child(4){height:22px}
.brand-copy strong{display:block;color:#fff;font-size:15px;font-weight:800;line-height:1.4}
.sidebar-main{padding:25px 15px}.nav-drawer{margin:0}.nav-drawer>li{margin:5px 0}
.nav-drawer>li>a,.nav-drawer .nav-subnav>li>a{min-height:46px;margin:0;padding:12px 15px!important;border:1px solid transparent;border-radius:12px;color:#b6c5bf;font-size:13px;transition:.18s ease}
.nav-drawer>li>a:hover,.nav-drawer .nav-subnav>li>a:hover{color:var(--lime);background:rgba(215,255,85,.08);border-color:rgba(215,255,85,.16);transform:translateX(-3px)}
.nav-drawer>li.active>a,.nav-drawer>li.active>a:hover,.nav-drawer .nav-subnav>li.active>a{color:var(--night);background:var(--lime)!important;border-color:var(--lime);font-weight:800;box-shadow:0 7px 18px rgba(215,255,85,.16)}
.nav-drawer>li>a>i{position:static;display:inline-block!important;width:25px;margin-left:0;margin-right:10px;color:currentColor;font-size:18px;vertical-align:-2px}
.nav-drawer .nav-subnav{margin:6px 0 9px;padding-left:26px!important;padding-right:0!important;border-left:1px solid rgba(215,255,85,.22)}
.nav-drawer .nav-subnav>li>a{min-height:37px;padding:9px 12px!important;font-size:12px}.lyear-layout-sidebar-scroll{height:calc(100vh - 110px)}
.lyear-layout-header,.lyear-layout-content{padding-left:280px;padding-right:0}.lyear-layout-header{z-index:20}
.lyear-layout-header .navbar{height:84px;border:0;border-bottom:1px solid var(--line);background:rgba(255,254,250,.9);box-shadow:none;backdrop-filter:blur(14px)}
.topbar{height:84px;padding:0 38px}.topbar-left{gap:15px}.navbar-page-title{color:var(--ink);font-size:14px;font-weight:800;letter-spacing:.02em}
.lyear-aside-toggler{display:grid;width:37px;height:37px;align-content:center;gap:4px;padding:0 10px;border:1px solid var(--line);border-radius:11px;background:var(--panel)}
.lyear-aside-toggler:hover{background:var(--lime);border-color:var(--lime)}.lyear-toggler-bar{display:block;width:100%;height:2px;background:var(--ink)}
.topbar-right>li>a{display:flex;min-height:41px;align-items:center;gap:9px;padding:0 15px;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:var(--panel);font-size:12px;font-weight:700}
.topbar-right>li>a:hover{color:var(--night);background:var(--lime);border-color:var(--lime)}
.dropdown-menu{min-width:178px;margin-top:9px;padding:7px;border:1px solid var(--line);border-radius:13px;background:var(--panel);box-shadow:var(--shadow-tight)}
.dropdown-menu>li>a{border-radius:8px;color:var(--ink-soft);font-size:12px}.dropdown-menu>li>a:hover{color:var(--night);background:#eef6ce}
/* workspace */
.lyear-layout-content .container-fluid,.manage-page .container-fluid{max-width:1560px;padding:38px 42px 60px}
.dashboard-intro,.manage-heading,.auto-pay-heading{position:relative;margin:0 0 30px}
.dashboard-intro h1,.manage-heading h1,.auto-pay-heading h1{margin:0;color:var(--ink);font-size:28px;font-weight:900;letter-spacing:-.04em}
.intro-date,.auto-pay-heading>span{color:var(--muted);font-size:11px}
.dashboard-intro:after,.manage-heading:after{position:absolute;left:0;bottom:-15px;width:58px;height:5px;content:"";border-radius:2px;background:var(--lime)}
.database-alert,.manage-notice{border:1px solid #f0d49b;border-left:5px solid var(--orange);border-radius:13px;color:#765126;background:#fff8e8;box-shadow:none}
.database-alert code{color:#9a5e1f}
/* cards */
.metric-card,.dashboard-card,.auto-stat,.auto-toolbar,.auto-table-card,.manage-toolbar,.manage-table-wrap,.manage-form-wrap,.settings-panel,.profile-form,.site-form-wrap,.contract-summary div{border:1px solid var(--line)!important;border-radius:var(--radius)!important;background:var(--panel)!important;box-shadow:var(--shadow)!important}
.metric-card{min-height:146px;overflow:hidden}.metric-card:before{width:7px;border-radius:0;background:var(--lime)!important}
.metric-card.metric-charge:before,.metric-card.metric-amount:before{background:var(--orange)!important}.metric-card.metric-messages:before{background:var(--blue)!important}
.metric-body{padding:25px 24px}.metric-label{color:var(--muted);font-size:12px;font-weight:700}.metric-number{color:var(--ink);font-size:31px;font-weight:900;letter-spacing:-.05em}
.metric-icon{width:49px;height:49px;border:1px solid var(--line);border-radius:15px;color:var(--night);background:#eef6ce!important}.metric-charge .metric-icon,.metric-amount .metric-icon{background:#fff0dd!important}
.dashboard-card{overflow:hidden;margin-bottom:22px}.dashboard-card .card-header{padding:19px 23px;border-bottom:1px solid var(--line);background:var(--panel)}
.dashboard-card .card-header h4{color:var(--ink);font-size:14px;font-weight:900}.dashboard-card .card-body{padding:23px}.dashboard-card .card-body.p-0{padding:0}
.group-row{border-bottom-color:var(--line)!important}.group-rank{color:var(--night)!important;background:var(--lime)!important}.group-copy strong{color:var(--ink)}
/* tables */
.table-responsive{border-radius:0 0 var(--radius) var(--radius)}
.table>thead>tr>th,.manage-table>thead>tr>th,.auto-table>thead>tr>th,.site-table>thead>tr>th{padding:14px 18px!important;border-bottom:1px solid var(--line)!important;color:#718078;background:#f4f5ee!important;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.table>tbody>tr>td,.manage-table>tbody>tr>td,.auto-table>tbody>tr>td,.site-table>tbody>tr>td{padding:16px 18px!important;border-color:#edf0e9!important;vertical-align:middle}
.table-hover>tbody>tr:hover,.manage-table>tbody>tr:hover,.auto-table>tbody>tr:hover,.site-table>tbody>tr:hover{background:#fbfcef!important}
.label,.manage-status,.group-label,.auto-status{border-radius:7px;padding:5px 9px;font-size:10px;font-weight:900}
.label-success,.manage-status.status-success,.auto-status.status-success{color:#386118;background:#e9f7bf}.label-danger,.manage-status.status-danger,.auto-status.status-danger{color:#8e3737;background:#ffe1db}.label-warning,.manage-status.status-warning,.auto-status.status-warning{color:#83551c;background:#ffedc8}.label-default,.label-secondary,.manage-status.status-muted,.auto-status.status-muted{color:#5d6b65;background:#e9ece5}.label-info,.manage-status.status-info,.auto-status.status-info{color:#2e5a87;background:#dcecff}
.auto-table .cell-secondary{max-width:280px;margin-top:5px;overflow:hidden;color:var(--muted);font-size:11px;line-height:1.55;text-overflow:ellipsis;white-space:nowrap}.auto-table .order-result-message{max-width:340px;color:var(--ink-soft)}
.order-detail{margin-top:7px;color:var(--muted);font-size:10px}.order-detail summary{width:max-content;cursor:pointer;color:#638d12;font-weight:800}.order-detail div{margin-top:3px;line-height:1.5}.order-fallback-note{display:block;margin-top:4px;color:#a66017;font-size:10px}.dashboard-code{display:block;margin-top:4px;color:var(--muted);font-size:10px}
/* forms */
.manage-toolbar,.auto-toolbar{padding:18px 20px;margin-bottom:18px}
.manage-search input,.manage-toolbar select,.auto-field input,.auto-filter select,.manage-form .form-control,.profile-form .form-control,.settings-form .form-control,.site-form-wrap .form-control{min-height:43px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:#fff;box-shadow:none}
.manage-search input:focus,.manage-toolbar select:focus,.auto-field input:focus,.auto-filter select:focus,.manage-form .form-control:focus,.profile-form .form-control:focus,.settings-form .form-control:focus,.site-form-wrap .form-control:focus{border-color:var(--lime-deep);box-shadow:0 0 0 4px rgba(169,217,44,.16)}
.manage-search i{color:var(--muted)}
.manage-primary,.manage-primary:hover,.manage-primary:focus,.auto-filter-button,.settings-actions .manage-primary,.login-submit{min-height:43px;border:0;border-radius:10px;color:var(--night);background:var(--lime);box-shadow:0 8px 16px rgba(169,217,44,.2);font-weight:900}
.manage-primary:hover,.auto-filter-button:hover,.login-submit:hover,.login-submit:focus{color:var(--night);background:#c5f042;transform:translateY(-1px)}
.action-button,.manage-reset{border:1px solid var(--line);border-radius:10px;color:var(--ink-soft);background:var(--panel)}.action-button:hover,.manage-reset:hover{color:var(--night);border-color:var(--lime-deep);background:#f1f8d9}
.manage-form-wrap{overflow:hidden}.manage-form,.settings-panel,.profile-form{border:0!important;box-shadow:none!important}.form-actions,.settings-actions,.profile-actions{border-top:1px solid var(--line);background:#f4f5ee}
.manage-form label,.settings-form label,.profile-form label,.site-form-wrap label{color:var(--ink-soft);font-size:12px;font-weight:800}.help-block,.form-help{color:var(--muted);font-size:11px}.image-upload-button{border:1px solid var(--line);border-radius:10px;background:#f4f5ee}
.pagination>li>a,.pagination>li>span{margin:0 3px;border:1px solid var(--line);border-radius:8px!important;color:var(--ink-soft);background:var(--panel)}.pagination>.active>a,.pagination>.active>span{color:var(--night);border-color:var(--lime);background:var(--lime)}
/* auto-pay */
.auto-stat-grid{gap:14px}.auto-stat{min-height:122px;padding:20px}.auto-stat>i{color:var(--night);background:var(--lime);border-radius:11px}.auto-stat span{color:var(--muted);font-size:11px;font-weight:800}.auto-stat strong{color:var(--ink);font-size:25px;font-weight:900}.stat-amount>i,.stat-terminated>i{background:#ffe1c4}
.record-tabs{border-bottom:1px solid var(--line)}.record-tabs a{color:var(--muted);font-size:12px;font-weight:800}.record-tabs a.active{color:var(--night);border-bottom-color:var(--lime-deep)}.record-tabs small{color:var(--ink);background:#eef6ce}
.contract-checkbox,.selection-cell input{accent-color:var(--lime-deep)}
.deduction-modal .modal-content,.contract-check-modal .modal-content,.delete-confirm-modal .modal-content,.delete-modal .modal-content{overflow:hidden;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.modal-header{border-bottom:1px solid var(--line);background:#f4f5ee}.modal-footer{border-top:1px solid var(--line);background:#f4f5ee}.deduction-progress-track{background:#e4e9d9}.deduction-progress-track>span{background:var(--lime-deep)}
/* settings/profile */
.settings-tabs{gap:5px;padding:8px;border-bottom:1px solid var(--line);background:#f4f5ee}.settings-tabs button{border-radius:9px;color:var(--muted);font-size:12px;font-weight:800}.settings-tabs button.is-active{color:var(--night);background:var(--lime)}
.settings-group{padding:25px}.settings-group>header,.profile-section>header{border-bottom:1px solid var(--line)}.settings-group h2,.profile-section h2{color:var(--ink);font-size:15px;font-weight:900}.settings-icon,.profile-section-icon{color:var(--night);background:var(--lime);border-radius:11px}.settings-icon.is-green{background:#bce9d7}.settings-icon.is-amber,.profile-section-icon.is-security{background:#ffe1c4}.secret-saved-state{color:#5f8a16}.code-input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.03em}.profile-password-toggle{color:var(--muted)}
/* login */
.login-page{display:grid;min-height:100vh;place-items:center;padding:34px;background:radial-gradient(circle at 12% 18%,rgba(215,255,85,.13),transparent 28%),var(--night)}
.login-panel{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(350px,1fr);width:min(980px,100%);min-height:590px;overflow:hidden;border:1px solid rgba(215,255,85,.22);border-radius:24px;background:var(--panel);box-shadow:0 30px 90px rgba(0,0,0,.3)}
.login-visual{position:relative;padding:54px 44px;background:var(--lime)}.visual-overlay{position:absolute;inset:0;background:linear-gradient(145deg,rgba(215,255,85,.1),rgba(20,34,31,.85))}.visual-content{z-index:1}.visual-content h2{color:#fff;font-size:30px;font-weight:900}
.login-form-wrap{padding:66px 72px 48px;background:var(--panel)}.login-header h1{color:var(--ink);font-size:28px;font-weight:900}.login-header:after{display:block;width:58px;height:5px;margin-top:14px;content:"";border-radius:2px;background:var(--lime)}
.field-wrap .form-control{height:49px;border:1px solid var(--line);border-radius:10px}.field-wrap .form-control:focus{border-color:var(--lime-deep);box-shadow:0 0 0 4px rgba(169,217,44,.16)}.captcha-button{height:49px;border:1px solid var(--line);border-radius:10px;background:#f4f5ee}.login-submit{height:50px;border-radius:10px}.login-alert{border-radius:10px}
@media(max-width:1199px){.lyear-layout-sidebar{width:245px}.lyear-layout-header,.lyear-layout-content{padding-left:245px}.lyear-layout-content .container-fluid,.manage-page .container-fluid{padding-right:26px;padding-left:26px}}
@media(max-width:767px){.lyear-layout-sidebar{width:280px;transform:translateX(-100%)}.lyear-layout-sidebar.lyear-aside-open{transform:translateX(0)}.lyear-layout-header,.lyear-layout-content{padding-right:0}.lyear-layout-header .navbar,.topbar{height:67px}.topbar{padding:0 16px}.navbar-page-title{font-size:12px}.topbar-right>li>a{max-width:140px;padding:0 10px}.lyear-layout-content .container-fluid,.manage-page .container-fluid{padding:25px 16px 40px}.dashboard-intro,.manage-heading,.auto-pay-heading{align-items:flex-start;flex-direction:column;gap:8px}.dashboard-intro h1,.manage-heading h1,.auto-pay-heading h1{font-size:23px}.metric-card{min-height:120px;margin-bottom:14px}.manage-toolbar form,.auto-controls-row,.auto-filter{align-items:stretch;flex-direction:column}.manage-search,.auto-field,.auto-filter select{width:100%;max-width:none}.manage-filter{width:100%}.login-page{padding:14px}.login-panel{display:block;min-height:auto;border-radius:18px}.login-visual{min-height:190px;padding:28px}.visual-content h2{font-size:23px}.login-form-wrap{padding:35px 24px 30px}}

/* One breakpoint for the navigation drawer, header and content. */
html, body { direction: ltr; }
.lyear-layout-content { padding-top: 84px; }
.lyear-layout-sidebar-scroll { background: var(--night); }
.topbar .topbar-right { flex-direction: row; }
.lyear-layout-sidebar-close .lyear-layout-sidebar { transform: translateX(-100%); }
.lyear-layout-sidebar-close .lyear-layout-header,
.lyear-layout-sidebar-close .lyear-layout-content { padding-left: 0; padding-right: 0; }
@media (max-width: 1024px) {
  .lyear-layout-sidebar { width: min(280px, calc(100vw - 56px)); transform: translateX(-100%); }
  .lyear-layout-sidebar.lyear-aside-open { transform: translateX(0); }
  .lyear-layout-header, .lyear-layout-content { padding-left: 0; padding-right: 0; }
  .lyear-mask-modal { z-index: 25; }
}
@media (max-width: 767px) {
  .lyear-layout-content { padding-top: 67px; }
  .auto-filter { flex: 0 1 auto; }
}
