@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&display=swap');
:root{--green:#247657;--ink:#243630;--muted:#7b8680;--line:#e5eae6;--bg:#f7f9f6}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:'DM Sans',Arial,sans-serif;color:var(--ink);font-size:14px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.5}h1,h2,h3,p{margin-top:0}h1{font-size:31px;letter-spacing:-1.1px;margin-bottom:10px;font-weight:600}h2{font-size:18px;font-weight:600;margin-bottom:7px}p{line-height:1.6}.muted{color:var(--muted);font-size:13px;margin-bottom:0}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:#fff;border-right:1px solid var(--line);padding:35px 22px 0;display:flex;flex-direction:column}.brand{display:flex;align-items:center;font-size:27px;font-weight:700;letter-spacing:-1px}.brand-icon{background:var(--green);color:#fff;width:32px;height:32px;border-radius:10px;display:inline-grid;place-items:center;margin-right:9px;font-size:23px}.brand-dot{color:var(--green)}.workspace{border:1px solid var(--line);border-radius:9px;display:flex;align-items:center;padding:12px 10px;gap:9px;margin:34px 0;font-size:12px;font-weight:600}.workspace small,.profile small{display:block;color:var(--muted);font-size:10px;margin-top:4px;font-weight:400}.workspace-icon{display:grid;place-items:center;background:#f0f2ed;border-radius:6px;width:29px;height:31px}.workspace-chevron{margin-left:auto}.nav-label,.eyebrow{font-size:10px;font-weight:650;letter-spacing:1.6px;color:#8b968c}.nav-label{padding-left:13px;margin:0 0 14px}nav a{display:flex;align-items:center;gap:13px;padding:13px;border-radius:7px;margin:5px 0;color:#78817b;font-size:13px}nav a>span{font-size:20px;width:20px;line-height:1}nav a.selected{background:#eaf3eb;color:var(--green);font-weight:600}nav a:hover{background:#f0f5f0}nav b{font-size:10px;margin-left:auto;background:#f0f2ef;padding:3px 6px;border-radius:4px}.sidebar-bottom{margin-top:auto}.tip{padding:18px 14px;background:#f7f8f2;border:1px solid #ebeee0;border-radius:9px;margin-bottom:24px}.tip>span{font-size:24px;color:#869966;display:block;margin-bottom:12px}.tip strong{font-size:12px}.tip p{color:#8a927e;font-size:11px;margin:8px 0 0}.profile{border-top:1px solid var(--line);padding:20px 0;display:flex;align-items:center;gap:9px}.profile strong{font-size:11px}.profile form{margin-left:auto}.avatar{display:inline-grid;place-items:center;flex-shrink:0;width:34px;height:34px;border-radius:50%;background:#eee5d8;color:#8c7459;font-size:11px;font-weight:600}.avatar.small{width:31px;height:31px}.avatar.tiny{width:26px;height:26px;font-size:9px;background:#e6eee9;color:#577966}.icon-button{background:none;border:0;color:#8a958e;padding:5px;font-size:21px}.main-shell{margin-left:244px}.topbar{height:80px;padding:0 40px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#8a938d}.topbar strong{color:#536258;font-weight:500}.slash{margin:0 15px;color:#c9cec9}.topbar>div{display:flex;align-items:center;gap:22px}.today{font-size:11px}.content{max-width:1600px;margin:auto;padding:38px 40px 18px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.page-heading .eyebrow{display:block;margin-bottom:12px}.button{border:1px solid var(--green);background:var(--green);color:#fff;border-radius:7px;padding:11px 17px;font-size:12px;font-weight:600;display:inline-flex;justify-content:center;align-items:center;gap:12px;white-space:nowrap;box-shadow:0 2px 3px #164b3410}.button:hover{background:#1c6147}.button.secondary{background:#fff;color:#627067;border-color:var(--line)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.stat{background:#fff;border:1px solid var(--line);border-radius:10px;padding:19px 20px;transition:transform .15s}.stat:hover{transform:translateY(-2px)}.stat>div{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#758077}.stat-icon{font-style:normal;font-size:18px;width:31px;height:31px;display:grid;place-items:center;border-radius:8px;background:#f0f3f7;color:#8190a7}.stat-icon.pending{background:#fff5e3;color:#c49b43}.stat-icon.active{background:#eaf1ff;color:#6d92c9}.stat-icon.completed{background:#e8f3eb;color:#68a479}.stat>strong{display:block;font-size:33px;font-weight:550;margin:9px 0}.stat small{font-size:10px;color:#98a098}.progress-banner{border:1px solid #e1e9d6;background:#f0f4e8;border-radius:10px;padding:22px;display:flex;align-items:center;gap:17px;margin-bottom:30px}.progress-symbol{font-size:30px;color:#7d9865}.progress-banner strong{font-size:13px;font-weight:600}.progress-banner p{font-size:11px;color:#87937b;margin:7px 0 0}.progress-area{margin-left:auto;min-width:200px}.progress-area>div{display:flex;justify-content:space-between;font-size:10px;color:#7b8a6e;margin-bottom:8px}.progress-area strong{font-size:11px;color:#587444}progress{appearance:none;width:100%;height:6px;border:0;border-radius:5px;overflow:hidden}progress::-webkit-progress-bar{background:#dde6cf}progress::-webkit-progress-value{background:#7c9c66}.panel{background:white;border:1px solid var(--line);border-radius:11px;overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 19px}.panel-heading .muted{font-size:11px}.count{display:inline-block;font-size:10px;background:#f0f3ef;color:#7d8b7c;padding:4px 7px;border-radius:5px;vertical-align:middle;margin-left:5px}.text-link{color:var(--green);font-size:11px;font-weight:600}.filters{display:flex;justify-content:space-between;gap:15px;padding:0 24px 17px;align-items:center}.tabs{display:flex;background:#f6f7f5;border:1px solid #edf0ea;padding:3px;border-radius:7px;gap:3px}.tabs a{padding:7px 12px;font-size:10px;white-space:nowrap;color:#90988e;border-radius:5px}.tabs a.active{color:#46684e;background:white;box-shadow:0 1px 4px #0000000b}.search{display:flex;border:1px solid var(--line);border-radius:6px;overflow:hidden}.search input{border:0;margin:0;width:155px;padding:8px 11px;font-size:11px;background:#fff}.search button{border:0;background:#fff;color:#8b968c;font-size:19px;padding:0 10px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{background:#fafbf9;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#8a948b;font-size:10px;font-weight:500;padding:13px 20px}td{padding:20px;border-bottom:1px solid #f0f2ee;font-size:11px}td:first-child{min-width:220px;white-space:normal;max-width:400px}.task-title{font-weight:600;font-size:12px;display:block}.task-description{display:block;color:#97a093;font-size:10px;margin-top:6px;max-width:300px}.status-form{display:flex;align-items:center;gap:4px}.badge{font-size:10px;padding:5px 8px;border:0;border-radius:5px;display:inline-block;font-weight:500}.pending{background:#fcf3df;color:#b18c37}.in_progress{background:#eaf1fc;color:#5e83b7}.completed{background:#eaf4ed;color:#589469}.save-status{border:0;background:none;color:#799780;padding:5px}.priority{font-size:10px}.priority.high{color:#cb826d}.priority.medium{color:#bba05e}.priority.low{color:#79a090}.assignee{display:flex;align-items:center;gap:8px}.due{font-size:10px;color:#92998e}.due.late{color:#c07161}.row-actions{display:flex;gap:12px;align-items:center}.danger-link{border:0;background:none;padding:0;color:#bf7a6e;font-size:10px}.panel-footer{display:flex;justify-content:space-between;padding:16px 24px;font-size:10px;color:#9ba497;background:#fdfefc}.empty{text-align:center;padding:45px 20px}.empty>span{display:inline-grid;place-items:center;background:#edf4e9;color:#79a16c;border-radius:15px;width:54px;height:54px;font-size:25px;margin-bottom:18px}.empty h3{font-size:16px;margin-bottom:8px}.empty p{font-size:12px;color:#8c9788}.empty .button{margin-top:8px}.page-footer{display:flex;justify-content:space-between;margin-top:25px;color:#a7afa1;font-size:10px}.page-footer>span:first-child{font-weight:700;font-size:14px}.alert{padding:14px 18px;background:#e7f2e8;border:1px solid #cbdccd;color:#376f44;border-radius:7px;margin-bottom:22px;font-size:13px}.alert.error{background:#fff0ed;color:#a95748;border-color:#f0d2ca}dialog{border:1px solid var(--line);border-radius:14px;padding:27px;width:530px;max-width:calc(100% - 28px);max-height:90vh;box-shadow:0 25px 90px #162d2933;color:var(--ink)}dialog::backdrop{background:#20362d66;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.dialog-heading h2{font-size:23px;margin:7px 0 0}label{display:block;font-size:12px;font-weight:500;margin-bottom:18px}input,select,textarea{display:block;width:100%;border:1px solid #dfe6df;border-radius:6px;padding:11px 12px;background:#fff;color:#425647;margin-top:8px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #94b8a4}label small{display:block;font-weight:400;color:var(--muted);margin-top:8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.dialog-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:12px;padding-top:18px;border-top:1px solid var(--line)}.settings{max-width:650px;padding:28px}.settings p{color:var(--muted)}.settings hr{border:0;border-top:1px solid var(--line);margin:25px 0}.settings form{max-width:420px;margin-top:20px}.status-form select{margin:0;width:auto;max-width:125px}.login-body{min-height:100vh;display:grid;place-items:center;padding:35px;background:#edf1e9}.login-shell{display:grid;grid-template-columns:1.1fr 1fr;width:100%;max-width:1080px;min-height:650px;background:#fff;border:1px solid #e0e6da;border-radius:20px;overflow:hidden;box-shadow:0 20px 80px #263a2710}.login-story{background:#edf3e5;padding:42px;display:flex;flex-direction:column;justify-content:space-between}.login-story h1{font-size:40px;line-height:1.2;margin:18px 0}.login-story p{font-size:13px;color:#7c8b74;max-width:350px}.login-story>small{font-size:9px;letter-spacing:1.4px;color:#9caa93;margin-top:25px}.sample-card{background:#ffffffaa;border:1px solid #dfe8d5;padding:23px;border-radius:12px;margin-top:27px;transform:rotate(-2deg)}.sample-card h3{font-size:15px;margin:16px 0 8px}.sample-card p{font-size:12px}.avatars{display:flex;align-items:center;margin-top:20px}.avatars i{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#dbe7d1;border:2px solid #fff;font-size:9px;font-style:normal;margin-right:-6px}.avatars i:nth-child(2){background:#eadfce}.avatars i:nth-child(3){background:#dce3ee}.avatars span{margin-left:17px;font-size:9px;color:#8b9781}.login-form{padding:65px;align-self:center}.login-form h2{font-size:29px;letter-spacing:-.8px;margin:12px 0}.login-form form{margin-top:32px}.login-form .wide{width:100%;justify-content:space-between;padding:13px 17px}.login-note{margin:27px 0 0;color:#9ba594;font-size:10px;line-height:1.8}.login-form .alert{margin-top:20px}@media(min-width:1600px){.content{padding-top:50px}.stat{padding:25px}.panel{margin-top:10px}}@media(max-width:1150px){.sidebar{width:205px;padding-left:15px;padding-right:15px}.main-shell{margin-left:205px}.content{padding:28px 24px}.topbar{padding:0 24px}.filters{flex-wrap:wrap}.stats{gap:10px}.stat{padding:15px}.progress-area{min-width:150px}.login-form{padding:40px}}@media(max-width:800px){.sidebar{position:static;width:auto;padding:17px 20px;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:23px}.workspace,.nav-label,.sidebar-bottom{display:none}nav{display:flex;gap:5px;margin-top:15px;overflow:auto}nav a{margin:0;padding:9px 12px;white-space:nowrap;font-size:11px}nav a>span{font-size:16px}nav b{display:none}.main-shell{margin-left:0}.topbar{height:56px}.content{padding:25px 20px}.page-heading{align-items:flex-start}h1{font-size:25px}.eyebrow{font-size:9px}.page-heading .muted{font-size:11px}.stats{grid-template-columns:repeat(2,1fr)}.progress-banner{flex-wrap:wrap;padding:18px}.progress-area{width:100%;margin-left:47px}.panel-heading{padding:20px}.filters{padding:0 15px 15px}.search{width:100%}.search input{flex:1}.tabs{width:100%;justify-content:space-between}.tabs a{padding:8px}.panel-footer span:last-child{display:none}.login-shell{grid-template-columns:1fr;max-width:480px;min-height:auto}.login-story{padding:25px}.login-story>div,.login-story>small{display:none}.login-form{padding:35px}.login-body{padding:20px}.today{display:none}}@media(max-width:450px){.page-heading{flex-direction:column;gap:18px}.page-heading .button{align-self:flex-start}.content{padding:22px 15px}.topbar{padding:0 18px}.stat small{font-size:9px}.stat>div{font-size:11px}.form-grid{grid-template-columns:1fr}.panel-heading{gap:10px}.text-link{white-space:nowrap}nav a{gap:6px;padding:8px}.sidebar{padding:16px}.login-form{padding:28px}}

.mobile-logout{display:none}.mobile-logout button{border:0;background:none;cursor:pointer}@media(max-width:800px){.mobile-logout{display:block}}

[hidden]{display:none!important}.bill-help{margin:0 0 18px;font-size:11px;line-height:1.6}.bill-tag{display:inline-block;margin-top:7px;padding:4px 7px;border-radius:4px;background:#edf4e9;color:#4c805b;font-size:10px}

.task-row{cursor:pointer}.task-row:hover{background:#f4f8f2}.reminder-section{border-top:1px solid var(--line);margin-top:24px;padding-top:22px}.reminder-section .muted{margin-bottom:18px}
/* Focused workspace and responsive administration */
:root{--bg:#f3f6f7;--ink:#203c36;--green:#247657}.sidebar{background:#172f2b;color:#e7efea;border:0;width:244px}.sidebar .brand{color:#fff}.sidebar .brand-icon{background:#b7d5b0;color:#173d2c}.sidebar .brand-dot{color:#b7d5b0}.workspace{border-color:#ffffff20;background:#ffffff05}.workspace-icon{background:#ffffff14;color:#d6e9d8}.workspace small,.sidebar .profile small{color:#9eb2a9}.sidebar .nav-label{color:#829c90}.sidebar nav a{color:#b9cac2}.sidebar nav a:hover{background:#ffffff0c}.sidebar nav a.selected{background:#c4dfba;color:#244c35}.sidebar nav b{background:#ffffff12;color:inherit}.sidebar nav a.selected b{background:#aacba0}.sidebar .profile{border-color:#ffffff15}.sidebar .tip{background:#ffffff05;border-color:#ffffff15}.sidebar .tip strong{color:#d4e2d8}.sidebar .tip p{color:#8faa9b}.sidebar .icon-button{color:#b8cdc0}.quick-label{margin-top:32px}.sidebar .quick-nav a{font-size:12px}.main-shell{margin-left:244px}.topbar{height:70px}.page-heading{margin-bottom:25px}.stats{gap:16px}.stat{border:0;box-shadow:0 2px 8px #1d463208;border-top:3px solid #bdd2c3}.stat:nth-child(2){border-top-color:#d5a289}.stat:nth-child(3){border-top-color:#dcbb77}.stat:nth-child(4){border-top-color:#9fb8d6}.stat-icon.high{background:#fbeee8;color:#b56949}.stat-icon.overdue{background:#fff3df;color:#b68e38}.stat-icon.open{background:#eaf2eb;color:#639574}.panel{box-shadow:0 3px 14px #24392a05}.progress-banner{padding:17px 22px}.task-filters{background:#f9fbf9;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 22px;display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.task-filters label{margin:0;font-size:10px;color:#75867b;min-width:125px;flex:1}.task-filters label.filter-search{flex:1.5;min-width:170px}.task-filters select,.task-filters input{margin-top:5px;font-size:12px;padding:9px;min-height:36px}.task-filters .button{padding:10px 14px}.task-filters>a{padding:10px 2px}.datatable-tools{display:flex;justify-content:space-between;padding:16px 22px;gap:16px}.datatable-tools label{display:flex;align-items:center;gap:8px;margin:0;font-size:11px;color:#849080}.datatable-tools select,.datatable-tools input{margin:0;width:auto;font-size:11px;padding:7px 9px;max-width:190px}.datatable-pager{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:18px 22px;border-top:1px solid var(--line);font-size:11px;color:#6d7e70}.datatable-pager>span:first-child{margin-right:auto}.datatable-pager button{background:#fff;border:1px solid #dce5dc;border-radius:5px;padding:7px 10px;font-size:11px;color:#3b6951}.datatable-pager button:hover:enabled{background:#edf5ec}.datatable-pager button:disabled{cursor:default;opacity:.4}.data-table th{padding:12px 20px}.data-table th button{background:none;border:0;padding:0;color:#738577;font-size:11px;font-weight:600;white-space:nowrap}.data-table th[aria-sort=ascending] button,.data-table th[aria-sort=descending] button{color:#1d7951}.data-table td{padding:16px 20px}.task-title{font-size:13px;line-height:1.5}.task-description:empty{display:none}.table-no-results{text-align:center;padding:22px;color:#7a887e}.menu-toggle{display:none}.panel-footer{background:#fcfdfb;font-size:10px}.profile{padding-bottom:17px}.page-footer{margin-top:20px}
@media(max-width:1150px){.sidebar{width:215px}.main-shell{margin-left:215px}.task-filters{gap:10px}.task-filters label{min-width:130px}}
@media(max-width:800px){.sidebar{position:fixed;inset:0 auto 0 0;width:244px;height:100dvh;z-index:20;transform:translateX(-100%);transition:transform .2s ease;padding:25px 20px}.sidebar-open .sidebar{transform:translateX(0);box-shadow:8px 0 50px #152a3b44}.sidebar .workspace,.sidebar .nav-label,.sidebar .sidebar-bottom{display:block}.sidebar .workspace{display:flex}.sidebar nav{display:block;overflow:visible;margin-top:0}.sidebar nav a{margin:5px 0;padding:13px}.sidebar nav b{display:block}.sidebar-bottom{margin-top:auto}.sidebar .tip{display:none}.main-shell{margin-left:0}.menu-toggle{display:block;margin-right:10px;z-index:21}.sidebar-open .menu-toggle{position:fixed;left:252px;top:12px;background:white;border-radius:6px;box-shadow:0 2px 12px #0002}.topbar{justify-content:flex-start;height:60px}.topbar>div{margin-left:auto}.topbar .slash{margin:0 7px}.content{padding:25px 16px}.task-filters{padding:16px}.datatable-tools{padding:14px 16px;flex-wrap:wrap}.datatable-tools label{flex-wrap:wrap}.datatable-tools input{max-width:155px}.datatable-pager{flex-wrap:wrap;gap:8px;padding:14px 16px}.datatable-pager>span:first-child{flex-basis:100%}.page-heading h1{font-size:27px}.stats{gap:12px}.panel-heading .muted{line-height:1.6;max-width:250px}}
.sidebar{overflow-y:auto}.sidebar>*{flex-shrink:0}@media(max-height:800px) and (min-width:801px){.sidebar .tip{display:none}.sidebar{padding-top:25px}.workspace{margin:24px 0}.quick-label{margin-top:24px}}@media(max-width:800px){.sidebar{visibility:hidden}.sidebar-open .sidebar{visibility:visible}}
.bills-dashboard-card{display:flex;align-items:center;gap:18px;border:1px solid #d9e6de;border-radius:12px;background:linear-gradient(110deg,#eaf2e9,#fafcf7);padding:20px 24px;margin-bottom:25px}.bills-card-icon{display:grid;place-items:center;width:45px;height:45px;border-radius:12px;background:#d5e6ce;color:#3b694a;font-size:25px}.bills-dashboard-card h2{margin:5px 0 0;font-size:20px}.bills-card-count{margin-left:auto;text-align:right;display:flex;flex-direction:column;gap:4px}.bills-card-count strong{font-size:27px}.bills-card-count span{font-size:11px;color:#6d876a}.bill-hero{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:27px 30px;border-radius:13px;background:#193e32;color:#e7f1e8;margin-bottom:25px}.bill-hero .eyebrow{color:#a8c4aa}.bill-hero h2{font-size:29px;letter-spacing:-.5px;margin:12px 0}.bill-hero p{color:#adc4b2;font-size:12px;margin-bottom:15px}.bill-intervals{display:flex;gap:8px;flex-wrap:wrap}.bill-intervals span{padding:6px 10px;border:1px solid #ffffff25;border-radius:20px;color:#c4d9c5;font-size:10px}.bill-month-summary{min-width:185px;padding:20px;background:#ffffff0a;border:1px solid #ffffff16;border-radius:10px;display:flex;flex-direction:column;gap:12px}.bill-month-summary>strong{font-size:13px}.bill-month-summary>span{font-size:12px;color:#bad0bd}.bill-month-summary b{font-size:27px;color:white}.bill-month-summary small{font-size:10px;color:#b3cbb5}.bill-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;padding:22px}.bill-card{border:1px solid #e1e8df;border-radius:10px;padding:20px;display:flex;flex-direction:column;min-width:0;background:#fff}.bill-card:hover{border-color:#a6c6a5;box-shadow:0 3px 12px #183a2510}.bill-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.bill-calendar-date{display:flex;flex-direction:column;align-items:center;border-radius:8px;background:#edf3e9;color:#53754b;padding:9px 13px;font-size:10px;gap:2px}.bill-calendar-date strong{font-size:24px}.bill-card h3{font-size:15px;margin:19px 0 9px;line-height:1.5;overflow-wrap:anywhere}.bill-owner{font-size:11px;color:#85927e;margin-bottom:17px}.bill-owner span{margin:0 5px}.bill-reminder-note{font-size:10px;color:#849078;padding:12px 0;border-top:1px solid #edf0e8;margin-top:auto}.bill-card-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;flex-wrap:wrap}.bill-card-actions .button{padding:8px 11px;font-size:10px}.bill-overdue{background:#fff0e7;color:#ae7455}.bill-done{background:#fafcf8}.bill-setup{margin-top:22px;padding:20px}.bill-setup summary{cursor:pointer;font-size:13px;font-weight:600}.bill-setup summary span{float:right;color:#6b8867;font-size:11px}.bill-candidates{margin-top:15px;display:grid;grid-template-columns:1fr 1fr;gap:9px}.bill-candidates a{padding:12px;background:#f6f9f3;border-radius:6px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}.bill-candidates b{font-size:10px;white-space:nowrap;color:#538454}.page-heading{margin-bottom:22px}.page-heading .eyebrow{margin-bottom:8px}.page-heading h1{margin-bottom:0}.panel-heading{padding:20px 24px}.panel-heading h2{margin:0}.page-footer{margin-top:16px}@media(max-width:1150px){.bill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:800px){.bill-hero{padding:22px;flex-wrap:wrap}.bill-hero h2{font-size:25px}.bill-month-summary{width:100%;padding:15px}.bill-grid{padding:16px;grid-template-columns:1fr}.bill-candidates{grid-template-columns:1fr}.bill-setup summary{line-height:1.7}.bill-setup summary span{float:none;display:block}.bills-dashboard-card{padding:17px}.bills-dashboard-card h2{font-size:17px}}

.complete-button{padding:7px 10px;font-size:11px}.delete-button{border:1px solid #ebc7bf;color:#ab5949;background:#fff5f2;border-radius:6px;padding:7px 10px;font-size:11px;cursor:pointer}.delete-button:hover{background:#fbe6e0}.row-actions{gap:10px}.row-actions form{margin:0}
/* Compact sidebar and fluid app windows. */
.sidebar>.brand{margin-bottom:32px}.main-shell,.content,.panel{min-width:0}.content{width:100%}.table-wrap{max-width:100%;overscroll-behavior-x:contain}.sidebar .profile{flex-shrink:0}.sidebar>.nav-label{margin-top:0}.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.stat{min-width:0}.page-heading>div{min-width:0}.topbar>span{min-width:0}.bill-card-actions{row-gap:10px}
@media(min-width:801px) and (max-width:1100px){.sidebar{width:190px;padding-left:14px;padding-right:14px}.main-shell{margin-left:190px}.content{padding:24px 20px}.topbar{padding:0 20px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar .brand{font-size:25px}}
@media(max-width:800px){.main-shell{margin-left:0}.sidebar>.brand{margin-bottom:28px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.task-filters label{flex:1 1 140px;min-width:0}.task-filters label.filter-search{flex:1 1 100%;min-width:0}.task-filters select,.task-filters input{width:100%;max-width:100%}.bill-setup summary span{white-space:normal}.bills-dashboard-card>div{min-width:0}.bills-card-count{flex-shrink:0}.row-actions{flex-wrap:wrap}.table-wrap{scrollbar-width:thin}}
@media(max-width:420px){.content{padding:20px 12px}.topbar{padding:0 12px;font-size:11px}.topbar>div{gap:10px}.stat{padding:14px 12px}.stat>div{gap:5px}.stat small{display:block;line-height:1.5}.stat-icon{width:26px;height:26px;flex-shrink:0}.panel-heading{padding:17px 15px;align-items:flex-start}.panel-heading h2{font-size:16px}.datatable-tools{gap:12px}.datatable-tools label{flex:1 1 100%;justify-content:space-between}.datatable-tools input{max-width:190px;min-width:0;width:65%}.bills-dashboard-card{gap:11px}.bills-card-icon{width:35px;height:35px;flex-shrink:0}.bills-dashboard-card h2{font-size:15px}.bill-hero{padding:18px}.bill-setup{padding:16px}dialog{padding:20px;max-height:92dvh}.dialog-heading h2{font-size:21px}.dialog-footer{flex-wrap:wrap}.page-heading{gap:16px}}
.report-filter-panel{margin-bottom:22px}.report-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 22px;color:#819080;font-size:11px}.report-toolbar>div{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.report-stats .stat>strong{margin-bottom:0}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:23px}.report-breakdown{padding:23px}.report-breakdown h2{margin-bottom:22px}.report-bar{margin-bottom:17px}.report-bar>div{display:flex;justify-content:space-between;font-size:12px;margin-bottom:8px}.report-bar progress{height:8px}.report-breakdown small{font-size:10px;color:#82917b}.report-cycle{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid #eef1eb;font-size:12px}.report-cycle strong{font-size:20px}.report-cycle:last-child{border:0}.report-section{margin-bottom:22px}.report-note{font-size:11px;color:#7a8a79;line-height:1.7}.report-filter-panel .task-filters{border-top:0}.report-section td:first-child{min-width:180px}@media(max-width:800px){.report-grid{grid-template-columns:1fr}.report-toolbar{align-items:flex-start;flex-direction:column;padding:15px}.report-toolbar>div{gap:12px}.report-breakdown{padding:20px}}
@media print{.sidebar,.topbar,.page-footer,.task-filters,.report-toolbar>div,.datatable-tools,.datatable-pager,.table-no-results{display:none!important}.main-shell{margin:0!important}.content{max-width:none;padding:0!important}.panel{box-shadow:none;overflow:visible;border:1px solid #ccc}.table-wrap{overflow:visible}.data-table tbody tr[hidden]{display:table-row!important}.data-table{white-space:normal;font-size:10px}.data-table td,.data-table th{padding:8px!important;min-width:0!important}.report-grid{grid-template-columns:1fr 1fr}.report-section{break-inside:auto}.report-stats{grid-template-columns:repeat(4,1fr)}.report-breakdown{break-inside:avoid}.report-section thead{display:table-header-group}.report-section tr{break-inside:avoid}body{background:#fff;color:#000}.page-heading{margin-top:10px}a{color:inherit}.report-toolbar{padding:10px}}
/* Icon rail with optional expanded navigation. */
.rail-toggle{display:block;align-self:center;border:1px solid #ffffff24;background:transparent;color:#bcd4c7;width:34px;height:32px;border-radius:7px;margin-bottom:20px;font-size:17px;cursor:pointer}.rail-toggle:hover{background:#ffffff12}.sidebar nav a .nav-text{font-size:13px;line-height:1.4;width:auto}.sidebar nav a .nav-icon{font-size:21px;width:22px;text-align:center;flex-shrink:0}.brand-word{display:inline-flex;align-items:baseline}
@media(min-width:801px){.sidebar{width:78px;padding:20px 12px 0;transition:width .18s ease}.main-shell{margin-left:78px;transition:margin-left .18s ease}.sidebar>.brand{justify-content:center;margin-bottom:26px}.sidebar .brand-icon{margin-right:0}.sidebar .brand-word,.sidebar>.nav-label,.sidebar nav .nav-text,.sidebar nav b,.sidebar .profile>div{display:none}.sidebar nav a{justify-content:center;padding:13px 0;margin:7px 0;gap:0;min-height:47px}.sidebar .profile{flex-direction:column;gap:14px;padding:18px 0}.sidebar .profile form{margin:0}.sidebar .sidebar-bottom{margin-top:auto}.rail-expanded .sidebar{width:230px;padding:20px 20px 0}.rail-expanded .main-shell{margin-left:230px}.rail-expanded .rail-toggle{align-self:flex-end}.rail-expanded .sidebar>.brand{justify-content:flex-start}.rail-expanded .sidebar .brand-icon{margin-right:9px}.rail-expanded .sidebar .brand-word{display:inline-flex}.rail-expanded .sidebar>.nav-label,.rail-expanded .sidebar nav .nav-text,.rail-expanded .sidebar nav b,.rail-expanded .sidebar .profile>div{display:block}.rail-expanded .sidebar nav a{justify-content:flex-start;padding:13px;gap:12px}.rail-expanded .sidebar .profile{flex-direction:row;gap:9px}.rail-expanded .sidebar .profile form{margin-left:auto}}
@media(max-width:800px){.rail-toggle{display:none}.sidebar .brand-word{display:inline-flex}.sidebar nav .nav-text{display:block}.main-shell{margin-left:0}.sidebar .brand-icon{margin-right:9px}}
@media(prefers-reduced-motion:reduce){.sidebar,.main-shell{transition:none}}

.overview-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.overview-cards .stat{padding:24px}.overview-cards .stat small{display:flex;justify-content:space-between}.overview-cards .stat:focus-visible{outline:3px solid var(--green);outline-offset:3px}@media(max-width:1000px){.overview-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.overview-cards .stat{padding:18px 14px}}

/* Hide the outer page scrollbar without disabling scrolling. */
html,body{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,body::-webkit-scrollbar{width:0;height:0;display:none}

.report-summary-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.8fr);align-items:stretch}.report-summary-grid>section{min-width:0;margin-bottom:0}.report-assignees .datatable-tools{padding:12px;gap:10px;flex-wrap:wrap}.report-assignees .datatable-tools input{min-width:0;width:130px}.report-assignees .datatable-pager{padding:12px;gap:8px;flex-wrap:wrap}.report-assignees .data-table td,.report-assignees .data-table th{padding:12px 10px}.report-assignees td:first-child{min-width:100px}@media(max-width:1000px){.report-summary-grid{grid-template-columns:1fr}.report-assignees .datatable-tools input{width:auto}}
.chart-legend{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:22px;font-size:11px}.chart-legend span:before{content:"";display:inline-block;width:8px;height:8px;border-radius:2px;background:#d7ac61;margin-right:5px}.chart-legend span:nth-child(2):before{background:#729dc0}.chart-legend span:nth-child(3):before{background:#7b9e70}.assignee-chart{max-height:330px;overflow-y:auto}.assignee-chart-row{margin-bottom:20px}.chart-label{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin-bottom:8px}.chart-label span{color:#75867b}.assignee-chart svg{display:block;width:100%;height:12px;border-radius:4px;overflow:hidden;margin-bottom:7px}.assignee-chart-row small{font-size:10px}@media print{.assignee-chart{max-height:none;overflow:visible}}

.recovery-panel{width:min(460px,calc(100% - 32px));margin:60px auto;padding:30px}.recovery-panel h1{font-size:27px}.recovery-panel p{margin:20px 0;line-height:1.6}
/* Narrow phone layouts and long task names. */
@media(max-width:480px){.overview-cards{grid-template-columns:1fr}.page-heading{flex-wrap:wrap}.page-heading h1{overflow-wrap:anywhere}.recovery-panel{margin:24px auto;padding:22px}.chart-label strong{overflow-wrap:anywhere;min-width:0}.task-filters label{min-width:0;flex-basis:100%}.report-toolbar a,.report-toolbar button{max-width:100%}.login-form{min-width:0}.login-form input{min-width:0;max-width:100%}}

/* Kopran brand asset: preserve the complete logo in both navigation modes. */
.kopran-brand{background:#fff;border-radius:8px;padding:7px;overflow:hidden;flex-shrink:0}
.kopran-logo{display:block;width:100%;height:auto;object-fit:contain}
.sidebar>.kopran-brand{width:100%;min-height:38px}
.login-story>.kopran-brand{width:min(100%,310px);padding:12px}
@media(min-width:801px){body:not(.rail-expanded) .sidebar>.kopran-brand{padding:3px;border-radius:5px;min-height:26px}}
/* Unified workspace theme */
/* Shared visual standards for the Taskflow workspace. */
@media screen {
 :root{--green:#2563eb;--ink:#17243b;--muted:#64748b;--line:#e2e8f0;--bg:#f5f7fb;--radius:12px;--shadow:0 4px 20px #17243b06}
 body{font-family:'DM Sans',system-ui,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
 html,body{scrollbar-width:auto;-ms-overflow-style:auto}
 html::-webkit-scrollbar,body::-webkit-scrollbar{display:block;width:8px;height:8px}
 h1{font-size:32px;line-height:1.2;font-weight:700;letter-spacing:-1px}
 h2{font-size:18px;font-weight:650;letter-spacing:-.3px}
 .muted,.due,.task-description,.panel-footer,.datatable-tools label,.page-footer{color:var(--muted)}
 .eyebrow,.nav-label{font-size:10px;font-weight:700;letter-spacing:1.5px;color:#64748b}
 .sidebar{background:#111c31;border-right:1px solid #ffffff0a;padding-top:24px}
 .sidebar .brand-icon{background:#3b82f6;color:white;border-radius:10px;box-shadow:0 4px 14px #2563eb40}
 .sidebar .brand-dot{color:#60a5fa}
 .sidebar .nav-label{color:#8291aa;margin-bottom:12px}
 .sidebar nav a{color:#b4c0d5;border-radius:9px;min-height:44px;transition:background .15s,color .15s}
 .sidebar nav a:hover{background:#ffffff0c;color:#fff}
 .sidebar nav a.selected{background:#2563eb;color:#fff;box-shadow:0 4px 12px #0002}
 .sidebar nav a.selected b{background:#ffffff26;color:white}
 .sidebar nav b{background:#ffffff0c;color:#cbd5e1;border-radius:6px}
 .sidebar .profile small{color:#94a3b8;font-size:11px}
 .sidebar .profile strong{font-size:12px;color:#f1f5f9}
 .rail-toggle{border-color:#ffffff20;color:#a7b8d3;border-radius:8px;min-height:36px}
 .topbar{height:76px;background:#ffffffeb;padding:0 36px;font-size:13px;color:#64748b}
 .topbar strong{color:#334155;font-weight:600}
 .today{font-size:12px;color:#64748b}
 .avatar,.avatar.tiny{background:#e8efff;color:#315fae;font-size:11px;font-weight:700}
 .content{max-width:1480px;padding:36px 36px 24px}
 .page-heading{margin-bottom:28px;align-items:center}
 .page-heading .eyebrow{margin-bottom:8px}
 .page-heading h1{margin-bottom:0}
 .button{min-height:42px;padding:10px 16px;font-size:13px;border-radius:8px;gap:8px;font-weight:600;box-shadow:0 2px 4px #1d4ed915;transition:background .15s,box-shadow .15s}
 .button:hover{background:#1d4ed8;border-color:#1d4ed8;box-shadow:0 4px 12px #2563eb20}
 .button.secondary{border-color:#cbd5e1;background:#fff;color:#475569;box-shadow:none}
 .button.secondary:hover{background:#f1f5f9;border-color:#94a3b8}
 .text-link{font-size:12px;color:#1d4ed8;font-weight:600}
 .text-link:hover{text-decoration:underline;text-underline-offset:3px}
 :where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #60a5fa;outline-offset:3px}
 .stats{gap:20px;margin-bottom:24px}
 .stat,.overview-cards .stat{border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;box-shadow:var(--shadow);position:relative;overflow:hidden}
 .stat:nth-child(n){border-top:1px solid var(--line)}
 .stat:hover{border-color:#b8caf0;box-shadow:0 8px 24px #17243b0c}
 .stat>div{font-size:13px;font-weight:500;color:#475569;gap:12px}
 .stat>strong{font-size:38px;line-height:1.2;font-weight:700;color:#17243b;letter-spacing:-1px;margin:16px 0 12px}
 .stat small{font-size:12px;color:#64748b}
 .stat-icon{width:38px;height:38px;background:#eef2ff;color:#4f46e5;border-radius:10px;font-size:20px}
 .stat-icon.overdue{background:#fff1f2;color:#be123c}.stat-icon.high{background:#fff7ed;color:#c2410c}
 .stat-icon.open,.stat-icon.active{background:#eff6ff;color:#2563eb}.stat-icon.completed{background:#ecfdf5;color:#047857}
 .panel{border-radius:var(--radius);box-shadow:var(--shadow)}
 .panel-heading{padding:22px 24px;gap:16px}
 .panel-heading h2{margin:0}.panel-heading .muted{font-size:12px;margin-top:6px}
 .count{background:#eff4fc;color:#52688e;font-size:11px;border-radius:6px;padding:3px 7px}
 .task-filters{background:#f8fafc;padding:20px 24px;gap:14px}
 label,.task-filters label{font-size:12px;font-weight:600;color:#475569}
 input,select,textarea,.task-filters input,.task-filters select{min-height:42px;border:1px solid #cbd5e1;border-radius:8px;padding:10px 12px;font-size:13px;color:#1e293b;background:#fff;box-shadow:0 1px 2px #0f172a04}
 input::placeholder,textarea::placeholder{color:#7b899d}
 input:focus,select:focus,textarea:focus{border-color:#3b82f6;outline:3px solid #2563eb1c;outline-offset:0}
 .datatable-tools{padding:16px 24px;align-items:center}.datatable-tools label{font-size:12px;color:#64748b}
 .datatable-tools input,.datatable-tools select{min-height:36px;font-size:12px;border-radius:7px}
 th,.data-table th{background:#f8fafc;padding:14px 20px;color:#526079;font-size:12px;font-weight:600}
 .data-table th button{font-size:12px;color:#526079;min-height:24px}
 td,.data-table td{padding:18px 20px;font-size:13px;border-bottom:1px solid #edf1f7}
 .task-row:hover{background:#f8faff}.task-title{font-size:13px;font-weight:600;color:#233450}
 .task-description{font-size:12px;margin-top:4px;line-height:1.5}.due{font-size:12px}.due.late{color:#b4233b}
 .badge{font-size:11px;font-weight:600;border-radius:6px;padding:5px 9px;line-height:1.5}
 .pending{background:#fff7e6;color:#925e00}.in_progress{background:#eaf2ff;color:#2159b6}.completed{background:#e8f7ef;color:#157347}
 .priority{font-size:12px;font-weight:500}.priority.high{color:#b4233b}.priority.medium{color:#93620c}.priority.low{color:#32765b}
 .bill-tag{background:#eef2ff;color:#4f46a5;font-size:11px}
 .complete-button{background:#eff6ff;border-color:#dbe7fc;color:#1d4ed8;box-shadow:none;min-height:34px;font-size:12px;padding:6px 10px}
 .complete-button:hover{color:white}.delete-button,.danger-link{color:#b4233b;font-size:12px}
 .panel-footer,.datatable-pager{background:#fff;font-size:12px;padding:16px 24px;color:#64748b}
 .datatable-pager button{min-height:36px;font-size:12px;border-color:#d5deeb;color:#475569;border-radius:7px}
 .datatable-pager button:hover:enabled{background:#eff6ff}
 .bills-dashboard-card{background:linear-gradient(115deg,#edf3ff,#fff);border-color:#d9e5fb;border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}
 .bills-card-icon{background:#dce9ff;color:#2563eb}.bills-card-count span{color:#526988}.bills-dashboard-card .eyebrow{color:#466aab}
 .bill-hero{background:linear-gradient(115deg,#172c51,#244779);border-radius:var(--radius);padding:28px 30px}
 .bill-hero .eyebrow,.bill-hero p{color:#b8cbe6}.bill-intervals span{color:#deebff}
 .bill-card{border-color:var(--line);border-radius:12px;box-shadow:none}.bill-card h3{color:#233450}
 .bill-calendar-date{background:#edf3ff;color:#305f9f}.bill-overdue{background:#fff1f2;color:#b4233b}
 .bill-reminder-note,.bill-owner{color:#64748b}.bill-card-actions{gap:12px;flex-wrap:wrap}
 .report-breakdown small,.report-note,.report-toolbar,.chart-label span{color:#64748b}
 .report-bar progress::-webkit-progress-value{background:#3b82f6}
 dialog{width:580px;padding:28px;border-radius:16px;border:1px solid #dbe3ef;box-shadow:0 24px 80px #0f172a30}
 dialog::backdrop{background:#0f172a73;backdrop-filter:blur(4px)}
 .dialog-heading h2{font-size:24px;letter-spacing:-.5px}.icon-button{color:#64748b;min-width:36px;min-height:36px;border-radius:7px}
 .icon-button:hover{background:#64748b12}.dialog-footer{padding-top:20px;margin-top:20px}
 .alert{background:#ecfdf5;border-color:#bbebd5;color:#166344}.alert.error{background:#fff1f2;color:#a9223c;border-color:#fecdd3}
 .login-body{background:#eef2f8}.login-shell{border-color:#dde5f0;box-shadow:0 24px 80px #17243b0d}
 .login-story{background:linear-gradient(145deg,#172c51,#244779);color:#fff}.login-story .brand-dot{color:#60a5fa}
 .login-story .eyebrow,.login-story>small{color:#adbfdb}.login-story p{color:#bed0e9}
 .sample-card{background:#ffffff0a;border-color:#ffffff22;transform:none}.sample-card .avatars span{color:#c9d7ee}
 .login-note{font-size:12px;color:#64748b}.login-form h2{font-weight:700}.login-story .brand-icon{background:#3b82f6}
 .page-footer{padding-top:8px;font-size:11px}
 @media(min-width:801px){
  .rail-expanded .sidebar{width:248px;padding:24px 18px 0}.rail-expanded .main-shell{margin-left:248px}
  .sidebar>.brand{margin-bottom:32px}.rail-expanded .sidebar nav a{padding:12px 14px;margin:6px 0}
 }
 @media(max-width:1100px){.content{padding:28px 24px}.topbar{padding:0 24px}.stats{gap:16px}.overview-cards .stat{padding:20px}}
 @media(max-width:800px){
  .content{padding:24px 18px}.topbar{height:64px;padding:0 18px}.page-heading h1{font-size:28px}
  .sidebar{width:248px;padding:24px 18px}.sidebar-open .menu-toggle{left:254px}
  .sidebar nav a{font-size:13px}.stats{gap:14px}.overview-cards .stat{padding:20px}
  .task-filters{padding:18px}.panel-heading{padding:20px}.report-grid{gap:16px}
  .bill-card-actions .button{min-height:38px}.bill-hero{padding:24px}.today{display:none}
 }
 @media(max-width:480px){
  .content{padding:22px 14px}.page-heading{align-items:flex-start;gap:16px}.page-heading .button{min-height:42px}
  .overview-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.overview-cards .stat{padding:16px 14px}
  .stat>div{font-size:12px;align-items:flex-start}.stat-icon{width:28px;height:28px;font-size:16px;border-radius:8px}
  .stat>strong{font-size:32px;margin:14px 0 8px}.overview-cards .stat small{font-size:11px;display:block;min-height:33px}.stat small>span{display:none}
  .datatable-tools{padding:16px}.datatable-tools label{font-size:12px}.datatable-pager{padding:16px}
  .panel-heading{padding:18px}.form-grid{grid-template-columns:1fr}dialog{padding:22px;max-height:90dvh}
  .login-form{padding:28px}.login-body{padding:16px}.bill-hero{padding:20px}.report-toolbar{font-size:12px}
 }
 @media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
}

/* Simpler workspace: four clear summaries and fewer competing labels. */
@media screen {
 .overview-cards{grid-template-columns:repeat(4,minmax(0,1fr))}
 .page-heading{margin-bottom:24px}
 .reminder-section summary{cursor:pointer;font-size:14px;font-weight:600;color:#475569;min-height:36px}
 .reminder-section[open] summary{margin-bottom:16px}
 .bill-hero h2{margin-top:0}
 .empty .button{display:none}
 @media(max-width:1100px){.overview-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
 @media(max-width:480px){.overview-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-title{font-size:12px}}
}
/* Task dates and priority indicators. */
.priority-marker{display:inline-block;width:8px;height:8px;border-radius:50%;background:#94a3b8;flex-shrink:0}
.priority-marker.high{background:#dc3545}.priority-marker.medium{background:#d39516}.priority-marker.low{background:#25855e}
.task-row td:first-child{position:relative;padding-left:36px}
.task-row td:first-child>.priority-marker{position:absolute;left:18px;top:25px}
.task-date{white-space:nowrap;color:#526079;font-variant-numeric:tabular-nums}
.priority-legend span{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11px;color:#64748b}
.priority-legend .priority-marker{margin-left:8px;width:7px;height:7px}
/* Task workspace navigation, collaboration, and detail drawer. */
.task-workspace-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.task-scope{display:flex;background:#e9eef7;border-radius:9px;padding:4px;margin:0;gap:3px}
.task-scope a{margin:0;padding:9px 16px;font-size:13px;color:#526079;border-radius:7px;min-height:38px}
.task-scope a.active{background:#fff;color:#1d4ed8;box-shadow:0 1px 4px #17243b12;font-weight:600}
.task-view-tabs{display:flex;overflow-x:auto;border-bottom:1px solid #dfe6f0;gap:8px;margin:0 0 22px;padding:0}
.task-view-tabs a{margin:0;border-radius:0;padding:12px 15px;font-size:13px;color:#64748b;white-space:nowrap;border-bottom:2px solid transparent}
.task-view-tabs a.active{background:transparent;color:#1d4ed8;border-color:#2563eb;font-weight:600}
.task-view-hint{font-size:12px;color:#64748b;margin-top:-8px;margin-bottom:20px}
.saved-view-menu,.notification-menu{position:relative;font-size:12px}
.saved-view-menu summary,.notification-menu summary{cursor:pointer;padding:10px 12px;border:1px solid #dbe3ef;border-radius:8px;background:white;list-style:none;color:#334155;font-weight:600}
.notification-menu b{background:#2563eb;color:white;border-radius:8px;padding:2px 5px;font-size:10px;margin-left:4px}
.saved-view-content,.notification-content{position:absolute;right:0;top:calc(100% + 8px);width:320px;padding:20px;border:1px solid #dbe3ef;border-radius:12px;background:#fff;z-index:30;box-shadow:0 12px 40px #17243b24;max-height:65vh;overflow:auto}
.saved-view-item{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #edf1f7;padding:6px 0}.saved-view-item a{font-size:13px;color:#1d4ed8}.saved-view-content>form{margin-top:16px}
.notification-content>a{display:block;border-bottom:1px solid #edf1f7;padding:12px 8px;font-size:12px;line-height:1.6}.notification-content>a.unread{background:#eff6ff}.notification-content span,.notification-content small{display:block}.notification-content small{color:#64748b;margin-top:4px}.notification-content form{margin-top:16px}
.quick-status select{margin:0;width:138px;min-height:34px;padding:6px 8px;font-size:12px;border:1px solid #dbe3ef;font-weight:600;cursor:pointer}
.quick-status select.pending{background:#fff7e6;color:#925e00}.quick-status select.in_progress{background:#eaf2ff;color:#2159b6}.quick-status select.completed{background:#e8f7ef;color:#157347}
.undo-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#eff6ff;border:1px solid #c9dcff;border-radius:10px;padding:14px 18px;margin-bottom:20px;font-size:13px}.undo-banner small{color:#64748b;font-size:11px}.undo-banner form{margin-left:auto}
@media screen{dialog.task-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:610px;max-width:100%;height:100dvh;max-height:100dvh;border-radius:16px 0 0 16px;padding:28px;overflow-y:auto}.task-drawer .dialog-heading{position:sticky;top:-28px;background:white;z-index:2;margin:0 -4px 22px;padding:16px 4px;border-bottom:1px solid #edf1f7}.task-drawer .dialog-heading h2{margin:0}.task-drawer::backdrop{background:#0f172a30;backdrop-filter:none}}
.collaboration-section{border-top:1px solid #e2e8f0;padding-top:24px;margin-top:24px}.collaboration-section summary{cursor:pointer;font-weight:600;font-size:16px;min-height:36px}.task-comment{padding:14px 0;border-bottom:1px solid #edf1f7}.task-comment>div{display:flex;justify-content:space-between;gap:12px;font-size:12px}.task-comment time{font-size:11px;color:#64748b}.task-comment p{font-size:13px;margin:8px 0;overflow-wrap:anywhere}.collaboration-section>form{margin-top:16px}.attachment-link{display:block;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:8px;color:#1d4ed8;overflow-wrap:anywhere}.attachment-link small{display:block;color:#64748b;font-size:11px;margin-top:4px}.task-history{padding-left:20px}.task-history li{font-size:12px;padding:10px 0;line-height:1.6}.task-history small{display:block;color:#64748b}
@media(max-width:800px){.topbar>div{gap:10px}.topbar .mobile-logout{display:none}.notification-content{position:fixed;top:65px;right:12px;max-width:calc(100vw - 24px)}.task-scope a{padding:8px 12px}.task-view-tabs a{padding:10px 12px}.task-drawer .dialog-heading{top:-22px}.saved-view-content{max-width:calc(100vw - 32px)}}
@media(max-width:480px){dialog.task-drawer{border-radius:0;padding:22px}.task-workspace-bar{gap:8px}.saved-view-menu summary{padding:9px;font-size:11px}.task-scope a{font-size:12px}.workspace-title{max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media print{.task-workspace-bar,.task-view-tabs,.notification-menu,.undo-banner{display:none!important}}
@media(max-width:600px){.task-view-tabs{flex-wrap:wrap;overflow:visible;gap:0 4px}.task-view-tabs a{padding:9px 10px}.notification-menu summary{font-size:11px}}
.quick-add-task{display:flex;align-items:center;gap:10px;margin-bottom:8px;background:#fff;border:1px solid #dbe3ef;border-radius:10px;padding:10px;box-shadow:0 2px 10px #17243b04}
.quick-add-task>input:not([type=hidden]){margin:0;border:0;box-shadow:none;flex:1;min-width:0;background:transparent}
.shortcut-hint{font-size:11px;color:#64748b;margin:0 0 24px}kbd{font:inherit;background:#e9eef7;border-radius:3px;padding:1px 4px;color:#475569}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.task-drawer .danger-zone{border-top:1px solid #e2e8f0;margin-top:24px;padding-top:20px}
@media(max-width:480px){.quick-add-task{gap:4px;padding:7px}.quick-add-task .button{padding:9px 12px;font-size:12px}.quick-add-task input{font-size:12px}.shortcut-hint{display:none}.quick-add-task{margin-bottom:20px}}

.admin-password-panel{margin-top:24px}.admin-password-panel form{max-width:100%}.admin-password-panel .muted{margin:0 0 18px;font-size:12px}.admin-password-panel select{width:100%}


.bill-late-label{display:block;color:#b4233b;font-size:11px;margin-top:4px}.bills-data-table .task-date.late{color:#b4233b}

/* Fast task editing and bulk controls. */
.selection-cell{width:42px;min-width:42px!important;padding:16px 12px!important}.selection-cell input,[data-select-all]{width:16px;height:16px;min-height:0;margin:0;cursor:pointer;accent-color:#2563eb}
.task-row .task-name-cell{position:relative;padding-left:40px;min-width:240px;white-space:normal;max-width:400px}.inline-priority{position:absolute;left:12px;top:22px}
.priority-dot-select{appearance:none;width:18px!important;height:18px;min-height:18px;padding:0!important;margin:0!important;border:4px solid #fff!important;border-radius:50%;font-size:0;background:#d39516;box-shadow:0 0 0 1px #dbe3ef;cursor:pointer}.priority-dot-select.high{background:#dc3545}.priority-dot-select.low{background:#25855e}.priority-dot-select option{font-size:13px;background:#fff;color:#334155}
.inline-owner{font-size:12px;padding:7px 9px;min-height:34px;margin:0;max-width:170px;background:#f8fafc;border-color:#dbe3ef}
.bulk-task-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:14px 18px;margin-bottom:16px;border:1px solid #bad0fa;background:#eef4ff;border-radius:10px;font-size:12px}.bulk-task-bar select{width:auto;min-width:145px;margin:0;font-size:12px}.bulk-task-bar small{color:#64748b;font-size:11px}.bulk-selected-count{font-weight:600;color:#1d4ed8;margin-right:auto}
.attention-panel{margin-bottom:24px}.attention-item{display:flex;align-items:center;gap:14px;padding:16px 24px;border-top:1px solid #edf1f7}.attention-item:hover{background:#f8faff}.attention-item strong{display:block;font-size:13px}.attention-item small{display:block;color:#64748b;font-size:11px;margin-top:4px}.attention-item>span:last-child{margin-left:auto;font-size:11px;color:#b45335}.attention-empty{padding:0 24px 24px;color:#64748b}.duplicate-task-form{margin:20px 0}.duplicate-task-form p{font-size:11px;margin-top:10px}
@media(max-width:600px){.bulk-task-bar select{flex:1;min-width:0}.bulk-task-bar small{flex-basis:100%}.attention-item{padding:14px 18px}.task-row .task-name-cell{min-width:210px}}
/* Keep priority dots easy to target without adding another column. */
.task-name-cell .priority-dot-select{width:24px!important;height:24px;min-height:24px;border-width:6px!important}.task-name-cell .inline-priority{left:9px;top:19px}
/* IT inventory module */
.inventory-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.inventory-heading>div{display:flex;gap:10px}.inventory-stats{grid-template-columns:repeat(5,minmax(0,1fr))}.inventory-stats .stat{padding:18px 20px}.inventory-stats .stat>strong{font-size:30px;margin-bottom:0}.inventory-filter-note{font-size:12px;color:#526079;padding:12px 24px;margin:0;background:#f1f6ff}.asset-available{background:#e8f7ef;color:#157347}.asset-assigned{background:#eaf2ff;color:#2159b6}.asset-repair{background:#fff7e6;color:#925e00}.asset-retired{background:#edf0f5;color:#64748b}
.asset-fields{border:0;margin:0;padding:0;min-width:0}.asset-fields:disabled input,.asset-fields:disabled select,.asset-fields:disabled textarea{color:#475569;background:#f8fafc;opacity:1}.inventory-table td:first-child{min-width:250px}.asset-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:620px;max-width:100%;height:100dvh;max-height:100dvh;border-radius:16px 0 0 16px;overflow-y:auto}.asset-drawer .dialog-heading{border-bottom:1px solid #edf1f7;padding-bottom:20px}.asset-drawer::backdrop{background:#0f172a30;backdrop-filter:none}.asset-drawer .task-history p{font-size:12px;margin:5px 0;overflow-wrap:anywhere}
@media(max-width:1000px){.inventory-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.inventory-heading{align-items:flex-start;flex-direction:column;gap:14px}.inventory-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-stats .stat{padding:16px}.asset-drawer{border-radius:0;padding:22px}.inventory-heading .button{font-size:12px}.inventory-stats .stat:first-child{grid-column:1/-1}.inventory-table td:first-child{min-width:220px}}
/* Compact rail with overlay navigation; content keeps its full working area. */
@media screen {
 :root{--rail-width:68px}
 .main-shell{min-height:100dvh}.content{max-width:none;margin:0;width:100%;min-height:calc(100dvh - 64px);padding:26px 28px}.topbar{height:64px;padding:0 28px}
 .sidebar{z-index:60;transition:width .2s ease,transform .2s ease;box-shadow:none}.rail-toggle{display:block!important;flex-shrink:0}
 .sidebar-backdrop{position:fixed;inset:0;z-index:50;background:#0f172a55;border:0;cursor:pointer;backdrop-filter:blur(1px)}
 body.rail-expanded{overflow:hidden}.rail-expanded .sidebar{box-shadow:12px 0 45px #0f172a30}
 body[data-view=dashboard] .content{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(290px,1fr);grid-template-rows:auto auto minmax(150px,1fr) minmax(150px,1fr);gap:22px;align-content:stretch}
 body[data-view=dashboard] .page-heading,body[data-view=dashboard] .stats{grid-column:1/-1;margin:0}
 body[data-view=dashboard] .attention-panel{grid-column:1;grid-row:3/5;margin:0;align-self:stretch}
 body[data-view=dashboard] .bills-dashboard-card{grid-column:2;grid-row:3;margin:0;align-self:stretch}
 body[data-view=dashboard] .dashboard-inventory-card{grid-row:4;background:linear-gradient(115deg,#eef5f4,#fff);border-color:#d7e7e3}
 .dashboard-inventory-card .bills-card-icon{background:#def0e9;color:#28755c}.dashboard-inventory-card h2{margin-bottom:9px}.dashboard-inventory-card .muted{font-size:12px}
 @media(min-width:801px){
  .sidebar{width:var(--rail-width);padding:18px 9px 0;transform:none;visibility:visible;inset:0 auto 0 0;height:100dvh}
  .main-shell,.rail-expanded .main-shell{margin-left:var(--rail-width)}
  .rail-expanded .sidebar{width:264px;padding:18px 18px 0}
  .sidebar .rail-toggle{align-self:center;margin-bottom:20px;width:36px;height:36px}.rail-expanded .sidebar .rail-toggle{align-self:flex-end}
  .sidebar>.kopran-brand{width:42px;height:42px;min-height:42px;padding:5px;margin:0 auto 27px;border-radius:10px}
  .sidebar .kopran-logo{width:150px;max-width:none;height:auto;transform:translate(-1px,-1px)}
  .rail-expanded .sidebar>.kopran-brand{width:100%;height:auto;min-height:0;padding:9px;margin-bottom:28px}
  .rail-expanded .sidebar .kopran-logo{width:100%;transform:none}
  .sidebar nav a{min-height:44px;padding:12px 0;margin:6px 0;border-radius:9px}
  .rail-expanded .sidebar nav a{padding:12px 14px}
  .sidebar .profile{padding:18px 0}.sidebar .profile .avatar{width:30px;height:30px}
 }
 @media(max-width:1100px){body[data-view=dashboard] .content{grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);gap:18px}.content{padding:24px}.topbar{padding:0 24px}}
 @media(max-width:800px){
  .main-shell,.rail-expanded .main-shell{margin-left:0}.content{padding:22px 16px}.topbar{padding:0 16px}
  .sidebar,.rail-expanded .sidebar{width:min(280px,calc(100vw - 56px));padding:20px 18px 0;z-index:60}
  .sidebar .rail-toggle{align-self:flex-end;margin-bottom:16px;width:36px;height:36px}
  .sidebar-open .menu-toggle{position:static;box-shadow:none;background:transparent}
  body[data-view=dashboard] .content{display:flex;flex-direction:column;gap:20px;min-height:calc(100dvh - 64px)}
  body[data-view=dashboard] .stats{width:100%}body[data-view=dashboard] .attention-panel{order:3}body[data-view=dashboard] .bills-dashboard-card{order:4}body[data-view=dashboard] .dashboard-inventory-card{order:5}
  .sidebar>.kopran-brand{width:100%;height:auto;padding:9px}.sidebar .kopran-logo{width:100%;height:auto;transform:none}
 }
 @media(prefers-reduced-motion:reduce){.sidebar,.main-shell{transition:none}}
}
@media print{.sidebar-backdrop{display:none!important}}
@media screen and (min-width:801px){.sidebar>.kopran-brand{display:block}body:not(.rail-expanded) .sidebar>.kopran-brand{padding:5px}.rail-expanded .sidebar>.kopran-brand{padding:9px}}
@media screen and (min-width:801px){
 body[data-view=dashboard] .content:has(>.alert){grid-template-rows:auto auto auto minmax(150px,1fr) minmax(150px,1fr)}
 body[data-view=dashboard] .content:has(>.alert)>.alert{grid-column:1/-1;grid-row:1;margin:0}
 body[data-view=dashboard] .content:has(>.alert)>.page-heading{grid-row:2}
 body[data-view=dashboard] .content:has(>.alert)>.stats{grid-row:3}
 body[data-view=dashboard] .content:has(>.alert)>.attention-panel{grid-row:4/6}
 body[data-view=dashboard] .content:has(>.alert)>.bills-dashboard-card{grid-row:4}
 body[data-view=dashboard] .content:has(>.alert)>.dashboard-inventory-card{grid-row:5}
}
/* Compact, aligned task workspace with branding in the top navbar. */
@media screen {
 .topbar{justify-content:flex-start;gap:18px}.topbar>div{margin-left:auto}.navbar-logo{display:block;width:140px;flex-shrink:0;line-height:0}.navbar-logo img{display:block;width:100%;height:auto;max-height:48px;object-fit:contain}.workspace-title{padding-left:18px;border-left:1px solid #e2e8f0}
 .sidebar .rail-toggle{margin-bottom:16px}.sidebar>.nav-label{margin-top:6px}
 body[data-view=tasks] .content{padding:18px 22px}.content>.page-heading{margin-bottom:16px}.page-heading h1{font-size:28px}
 .task-toolbar{display:flex;align-items:center;gap:14px;margin-bottom:8px}.task-toolbar .quick-add-task{flex:1;min-width:0;margin:0;padding:5px 7px;border-radius:8px}.task-toolbar .quick-add-task input{min-height:34px;padding:7px 10px;font-size:12px}.task-toolbar .button{min-height:34px;padding:7px 12px;font-size:12px}.task-toolbar .shortcut-hint{display:none}.task-toolbar .task-workspace-bar{margin:0;gap:12px}.task-toolbar .task-scope{padding:3px}.task-toolbar .task-scope a{padding:7px 12px;min-height:32px;font-size:12px}.saved-view-menu summary{padding:8px 11px}
 .task-view-tabs{margin-bottom:12px;gap:6px}.task-view-tabs a{padding:8px 12px;font-size:12px;min-height:34px}
 body[data-view=tasks] .panel-heading{padding:12px 16px}body[data-view=tasks] .panel-heading h2{font-size:16px}
 body[data-view=tasks] .task-filters{padding:12px 16px;gap:12px;align-items:flex-end}body[data-view=tasks] .task-filters label{font-size:11px}body[data-view=tasks] .task-filters input,body[data-view=tasks] .task-filters select{min-height:34px;padding:7px 10px;font-size:12px;margin-top:4px}
 body[data-view=tasks] .data-table td{padding:10px 14px;height:54px;vertical-align:middle}body[data-view=tasks] .data-table th{padding:10px 14px;font-size:11px}body[data-view=tasks] .data-table th button{font-size:11px}
 body[data-view=tasks] .task-row .task-name-cell{padding-left:40px;min-width:220px}body[data-view=tasks] .task-name-cell>.task-description{display:none}body[data-view=tasks] .task-title{font-size:12px;line-height:1.4}
 body[data-view=tasks] .inline-priority{top:50%;transform:translateY(-50%);left:10px}body[data-view=tasks] .inline-owner,body[data-view=tasks] .quick-status select{min-height:30px;height:30px;font-size:11px;padding:5px 8px;border-radius:6px}body[data-view=tasks] .quick-status select{width:118px}body[data-view=tasks] .inline-owner{max-width:155px}
 body[data-view=tasks] .quick-status select:not(.completed){background:#eff6ff;color:#2159b6}body[data-view=tasks] .task-date{font-size:11px}body[data-view=tasks] .complete-button{min-height:30px;padding:5px 9px;font-size:11px}
 body[data-view=tasks] .bill-tag{font-size:10px;padding:2px 5px;margin-top:4px;line-height:1.3}body[data-view=tasks] .datatable-pager,body[data-view=tasks] .panel-footer{padding:10px 16px;font-size:11px}
 .task-row.just-updated{background:#f1f9f4}.task-row.just-updated .task-title{color:#235d3b}
 .row-feedback,.content>.undo-banner{position:fixed;right:20px;bottom:18px;z-index:45;margin:0;display:flex;align-items:center;gap:14px;flex-wrap:wrap;max-width:min(560px,calc(100vw - 32px));padding:10px 14px;border:1px solid #cbddeb;border-radius:10px;background:#fff;box-shadow:0 8px 32px #17243b22;font-size:12px;color:#334155}.row-feedback .button,.content>.undo-banner .button{min-height:30px;padding:5px 12px;font-size:12px}.row-feedback .icon-button{font-size:20px;min-width:28px;min-height:28px;padding:0}
 @media(max-width:1000px){.task-toolbar{flex-wrap:wrap}.task-toolbar>.quick-add-task{flex:1 1 100%}.task-toolbar .task-workspace-bar{width:100%;justify-content:space-between}.navbar-logo{width:125px}}
 @media(max-width:800px){.topbar{gap:10px}.navbar-logo{width:115px}.workspace-title{padding-left:10px;font-size:11px}.topbar>div{gap:8px}.topbar .avatar.small{display:none}body[data-view=tasks] .content{padding:18px 14px}.notification-menu summary{padding:8px;font-size:10px}}
 @media(max-width:420px){.navbar-logo{width:100px}.workspace-title{max-width:88px}.topbar{gap:8px;padding:0 12px}.menu-toggle{margin-right:0}.topbar>div{gap:0}.row-feedback,.content>.undo-banner{right:12px;bottom:12px}}
}
@media screen and (max-width:420px){.topbar .workspace-title{display:none}}
@media screen and (max-width:600px){
 body[data-view=tasks] .page-heading{flex-direction:row;align-items:center;gap:10px;margin-bottom:12px}body[data-view=tasks] .page-heading .button{align-self:auto;min-height:34px;padding:7px 11px;font-size:11px}body[data-view=tasks] .page-heading h1{font-size:25px}
 body[data-view=tasks] .task-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}body[data-view=tasks] .task-filters label{width:100%;min-width:0;margin:0}body[data-view=tasks] .task-filters>a{grid-column:1/-1;justify-self:end;padding:0}
}
/* Account activity alongside password settings. */
@media screen{body[data-view=settings] .content{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.6fr);gap:24px;align-content:start;align-items:start}body[data-view=settings] .content>.page-heading,body[data-view=settings] .content>.alert{grid-column:1/-1;margin-bottom:0}.settings-account-stack{min-width:0}.settings-account-stack>.settings{max-width:none;width:100%}.account-activity-panel{min-width:0;margin:0}.account-activity-panel .panel-heading{padding:20px}.account-activity-table td,.account-activity-table th{font-size:12px;padding:14px}.account-activity-table th button{font-size:11px}.account-activity-table td:first-child{min-width:170px}.account-activity-table td small{display:block;color:#64748b;margin-top:5px;font-size:11px}.account-you{font-size:9px;background:#eff6ff;color:#1d4ed8;border-radius:4px;padding:2px 5px;margin-left:6px}.account-inactive{background:#f1f5f9;color:#64748b}.account-activity-note{padding:16px 20px;background:#f8fafc;border-top:1px solid #e2e8f0}.account-activity-note p{font-size:11px;line-height:1.7;color:#64748b;margin:0}.account-activity-note p+p{margin-top:5px}@media(max-width:1200px){body[data-view=settings] .content{grid-template-columns:minmax(300px,1fr) minmax(0,1.4fr);gap:18px}}@media(max-width:1000px){body[data-view=settings] .content{grid-template-columns:1fr}.account-activity-panel{grid-row:2}.settings-account-stack{grid-row:3}}}
.settings-account-stack>.settings:first-child{margin-top:0}
@media screen and (max-width:1000px){body[data-view=settings] .content{display:flex;flex-direction:column;align-items:stretch}.account-activity-panel{order:1;width:100%}.settings-account-stack{order:2;width:100%}body[data-view=settings] .content>.alert{order:-1}}
