:root{--primary:#2457a7;--primary2:#173f7a;--bg:#f3f6fb;--card:#fff;--text:#1f2937;--muted:#6b7280;--border:#dbe2ea;--danger:#b42318;--success:#067647}*{box-sizing:border-box}body{margin:0;font-family:Arial,'Noto Sans Devanagari',sans-serif;background:var(--bg);color:var(--text)}.app-header{display:flex;justify-content:space-between;align-items:center;padding:18px 4%;background:linear-gradient(135deg,var(--primary2),var(--primary));color:#fff}.app-header h1{margin:0;font-size:clamp(22px,3vw,34px)}.app-header p{margin:6px 0 0;opacity:.85}.tabs{position:sticky;top:0;z-index:20;display:flex;gap:8px;padding:10px 3%;background:#fff;border-bottom:1px solid var(--border);overflow:auto}.tab{white-space:nowrap;background:#edf2f8;color:#1f3f6d;border:0;padding:12px 18px;border-radius:9px;font-weight:700;cursor:pointer}.tab.active{background:var(--primary);color:#fff}main{padding:20px 3%}.tab-panel{display:none}.tab-panel.active{display:block}.dashboard{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-bottom:20px}.dashboard article{min-width:180px;text-align:center;background:var(--card);padding:18px;border-radius:14px;box-shadow:0 5px 20px #24405f18;border:1px solid var(--border)}.dashboard span{display:block;font-size:32px;font-weight:800;color:var(--primary)}.dashboard small{font-size:15px}.two-column{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(520px,1.65fr);gap:20px}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:20px;margin-bottom:20px;box-shadow:0 5px 20px #24405f12}.card h2{margin-top:0;color:var(--primary2)}.card h3{margin-top:24px;border-bottom:1px solid var(--border);padding-bottom:8px}.card-title-row{display:flex;justify-content:space-between;align-items:center;gap:12px}label{display:block;margin:10px 0 5px;font-weight:700;font-size:14px}input,select,textarea{width:100%;padding:10px 11px;border:1px solid #bac6d4;border-radius:8px;background:#fff;font:inherit}input:focus,select:focus,textarea:focus{outline:2px solid #2f70cc33;border-color:#2f70cc}.grid-2,.grid-3,.grid-4{display:grid;gap:14px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.actions{display:flex;gap:10px;margin-top:18px}.actions.full{grid-column:1/-1}button{border:0;border-radius:8px;padding:10px 16px;background:var(--primary);color:#fff;font-weight:700;cursor:pointer}.secondary{background:#e7edf5;color:#234}.danger{background:#fee4e2;color:var(--danger)}.success{background:#dcfae6;color:var(--success)}.inline-radio{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:12px 0}.inline-radio label{display:flex;gap:6px;align-items:center;margin:0}.inline-radio input{width:auto}.conditional{padding:13px;background:#f8fafc;border:1px dashed #aab8c7;border-radius:9px}.hidden{display:none!important}.reminder-box{margin-top:8px}details{margin-top:14px}summary{cursor:pointer;font-weight:700;color:var(--primary)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:780px}th,td{padding:11px 9px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}th{background:#eef3f9;position:sticky;top:0}.badge{display:inline-block;padding:4px 8px;border-radius:20px;font-size:12px;font-weight:700;background:#edf2f7}.row-actions{display:flex;gap:6px}.row-actions button{padding:6px 9px;font-size:12px}.link-button{background:none;padding:0;color:#1359a6;text-decoration:underline}.modal{display:none;position:fixed;inset:0;background:#101828aa;z-index:100;align-items:center;justify-content:center;padding:15px}.modal.show{display:flex}.modal-content{position:relative;width:min(680px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:14px;padding:24px}.close{position:absolute;right:12px;top:10px;background:none;color:#333;font-size:28px;padding:0 8px}#toast{position:fixed;right:18px;bottom:18px;z-index:200;background:#172b4d;color:#fff;padding:12px 16px;border-radius:9px;display:none;max-width:360px}.muted{color:var(--muted)}@media(max-width:980px){.two-column{grid-template-columns:1fr}.grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.app-header{align-items:flex-start;gap:12px;flex-direction:column}.app-header button{width:100%}.tabs{padding:8px}.dashboard{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.dashboard article{min-width:0;padding:13px}.dashboard span{font-size:25px}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.card{padding:14px}main{padding:12px}.row-actions{flex-direction:column}.card-title-row{align-items:stretch;flex-direction:column}}
.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.user-chip{padding:9px 12px;border:1px solid #ffffff55;border-radius:9px;background:#ffffff18;font-weight:700}.logout-button{display:inline-block;padding:10px 16px;border-radius:8px;background:#fff;color:#8b1e17;text-decoration:none;font-weight:800}.login-page{min-height:100vh;background:linear-gradient(135deg,#e8eff9,#f8fafc)}.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-card{width:min(440px,100%);background:#fff;border:1px solid var(--border);border-radius:18px;padding:30px;box-shadow:0 18px 55px #173f7a24}.login-card h1{margin:18px 0 4px;color:var(--primary2)}.login-logo{background:linear-gradient(135deg,var(--primary2),var(--primary));color:#fff;padding:18px;border-radius:12px;text-align:center;font-size:20px;font-weight:800}.login-button{width:100%;margin-top:20px;padding:12px}.login-error{background:#fee4e2;color:#912018;border:1px solid #f5b7b1;padding:10px 12px;border-radius:8px;margin:14px 0}.demo-login{margin-top:18px;background:#f5f8fc;border:1px dashed #9fb0c5;border-radius:9px;padding:12px;line-height:1.6}@media(max-width:650px){.header-actions{width:100%;justify-content:stretch}.header-actions>*{flex:1;text-align:center}.user-chip{flex-basis:100%}}

.log-button,.secondary-button{display:inline-block;padding:10px 16px;border-radius:8px;background:#e7edf5;color:#234;text-decoration:none;font-weight:700}pre{white-space:pre-wrap;word-break:break-word;max-width:700px;background:#f5f7fa;padding:10px;border-radius:7px;font-size:12px}
.inline-form{display:inline-flex;gap:.35rem;align-items:center;margin:.2rem}.inline-form input{min-width:130px}.success-message{padding:.8rem 1rem;margin:.6rem 0;background:#e8f7ec;border:1px solid #9bd4aa;border-radius:8px}.danger{background:#b42318!important}.secondary-button{display:inline-block;text-decoration:none;padding:.65rem 1rem;border-radius:8px;background:#eef2f6;color:#17212b;font-weight:600}

.list-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.list-tools select{min-width:150px}.task-contact{min-width:150px}.contact-number{margin-top:2px;font-weight:600}.contact-actions{display:flex;gap:6px;margin-top:7px;flex-wrap:wrap}.contact-actions a{display:inline-block;padding:5px 8px;border-radius:6px;text-decoration:none;font-size:12px;font-weight:700}.call-link{background:#dcfae6;color:#067647}.wa-link{background:#e7f8ee;color:#087a3f}.theme-toggle{background:#ffffff22;border:1px solid #ffffff55}.dark-mode{--bg:#101828;--card:#182230;--text:#f2f4f7;--muted:#98a2b3;--border:#344054}.dark-mode .tabs,.dark-mode th{background:#1d2939}.dark-mode .tab{background:#344054;color:#f2f4f7}.dark-mode input,.dark-mode select,.dark-mode textarea,.dark-mode .modal-content{background:#101828;color:#f2f4f7;border-color:#475467}.dark-mode .conditional{background:#1d2939}.dark-mode .secondary,.dark-mode .secondary-button,.dark-mode .log-button{background:#344054;color:#f2f4f7}@media(max-width:650px){.list-tools{width:100%}.list-tools>*{flex:1}.contact-actions{flex-direction:column}.contact-actions a{text-align:center}}

/* Version 2.3 fixes */
.danger,.danger:hover,.danger:focus{color:#fff!important}
.dark-mode input[type="date"]::-webkit-calendar-picker-indicator,.dark-mode input[type="datetime-local"]::-webkit-calendar-picker-indicator{filter:invert(1);opacity:1;cursor:pointer}
.dark-mode input[type="date"],.dark-mode input[type="datetime-local"]{color-scheme:dark}
/* Final v2.5 updates */
.desc-col{width:150px}.task-description{max-width:180px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35}.priority{display:inline-block;margin-top:6px;padding:3px 7px;border-radius:12px;font-size:11px;font-weight:800}.priority-urgent{background:#fee4e2;color:#b42318}.priority-high{background:#ffead5;color:#b54708}.priority-medium{background:#fef0c7;color:#93370d}.priority-low{background:#dcfae6;color:#067647}.reminder-badge{margin-top:7px;padding:5px 7px;border-radius:8px;font-size:11px;font-weight:800;white-space:nowrap}.rem-set{background:#e8f5e9}.rem-due{background:#fff4cc}.rem-overdue{background:#fee4e2}.rem-done{background:#e7edf5}.important-date{font-weight:800}.docs-button{padding:7px 10px;background:#edf4ff;color:#1849a9;white-space:nowrap}.document-rows{display:grid;gap:12px;margin:12px 0}.document-row{position:relative;display:grid;grid-template-columns:1.3fr 1fr 1.2fr auto;align-items:end;gap:10px;padding:12px;border:1px solid var(--border);border-radius:10px;background:#f8fafc}.document-row .doc-quick{margin-bottom:6px}.remove-doc{height:42px}.document-list{display:grid;gap:10px}.document-item{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px;border:1px solid var(--border);border-radius:10px}.button-link{display:inline-block;padding:7px 10px;border-radius:7px;background:var(--primary);color:#fff;text-decoration:none;font-size:12px;font-weight:700}.modal-wide{width:min(900px,100%)}.theme-menu{position:relative}.theme-options{display:none;position:absolute;top:calc(100% + 6px);left:0;z-index:70;min-width:180px;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 32px #10182833;padding:6px}.theme-options.show{display:grid}.theme-options button{background:transparent;color:#1f2937;text-align:left}.theme-options button:hover{background:#eef3f9}
body[data-theme="dark"]{--primary:#4c8bf5;--primary2:#263b64;--bg:#101828;--card:#182230;--text:#f2f4f7;--muted:#98a2b3;--border:#344054;color-scheme:dark}body[data-theme="ocean"]{--primary:#0077a8;--primary2:#07526e;--bg:#edf8fb;--card:#fff;--text:#173042;--border:#c8e3ec}body[data-theme="emerald"]{--primary:#12805c;--primary2:#075b43;--bg:#effaf5;--card:#fff;--text:#18342b;--border:#cde8dc}body[data-theme="maroon"]{--primary:#8f2d3d;--primary2:#5f1e2a;--bg:#faf3f1;--card:#fffdfb;--text:#3b2528;--border:#ead4d1}
body[data-theme="dark"] .tabs,body[data-theme="dark"] th{background:#1d2939}body[data-theme="dark"] .tab{background:#344054;color:#f2f4f7}body[data-theme="dark"] input,body[data-theme="dark"] select,body[data-theme="dark"] textarea,body[data-theme="dark"] .modal-content,body[data-theme="dark"] .document-row,body[data-theme="dark"] .theme-options{background:#101828;color:#f2f4f7;border-color:#475467}body[data-theme="dark"] .secondary,body[data-theme="dark"] .log-button{background:#344054;color:#f2f4f7}body[data-theme="dark"] input[type="date"]::-webkit-calendar-picker-indicator,body[data-theme="dark"] input[type="datetime-local"]::-webkit-calendar-picker-indicator{filter:invert(1)}
@media(max-width:800px){.document-row{grid-template-columns:1fr}.document-item{align-items:flex-start;flex-direction:column}.task-description{max-width:none}}

.document-row-title{grid-column:1/-1;font-weight:800;color:var(--primary);margin-bottom:-2px}.required-mark{color:#d92d20}.document-row input[type=file]{background:#fff}

.existing-documents{margin:12px 0;padding:12px;border:1px solid var(--border);border-radius:10px}.existing-document-row{display:grid;grid-template-columns:1.2fr 1fr 1.2fr auto auto;gap:8px;align-items:center;margin:8px 0}@media(max-width:800px){.existing-document-row{grid-template-columns:1fr}}

.description-preview{display:-webkit-box;width:100%;max-width:180px;padding:0;background:transparent;color:var(--text);text-align:left;font-weight:400;line-height:1.35;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;cursor:pointer}.description-preview:hover{color:var(--primary);text-decoration:underline}.description-popup-body{white-space:pre-wrap;line-height:1.65;font-size:16px;overflow-wrap:anywhere}

/* Draft Templates v3.1 */
.template-upload-box{margin:18px 0;padding:14px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--card) 88%,var(--primary) 12%)}.template-upload-box summary{font-size:17px}.template-toolbar{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(140px,1fr));gap:10px;margin:18px 0}.template-list{display:grid;gap:12px}.template-card{display:grid;grid-template-columns:54px 1fr auto;gap:14px;align-items:center;padding:15px;border:1px solid var(--border);border-radius:12px;background:var(--card)}.template-file-icon{font-size:36px;text-align:center}.template-heading{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.template-heading h3{margin:0}.template-info p{margin:7px 0;color:var(--muted)}.template-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.template-stats{display:flex;align-items:center}.empty-state{text-align:center;padding:30px;color:var(--muted);border:1px dashed var(--border);border-radius:10px}@media(max-width:850px){.template-toolbar{grid-template-columns:1fr 1fr}.template-card{grid-template-columns:42px 1fr}.template-actions{grid-column:1/-1;justify-content:flex-start}}@media(max-width:560px){.template-toolbar{grid-template-columns:1fr}.template-card{grid-template-columns:1fr}.template-file-icon{text-align:left}}

/* v3.3 branding */
.header-brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;min-width:0}.header-brand h1{margin:0;font-size:clamp(20px,2.2vw,30px);line-height:1.15}.header-logo{width:40px;height:40px;max-width:40px;max-height:40px;object-fit:contain;flex:0 0 40px;display:block}.login-brand{text-align:center}.login-brand-logo{display:block;width:110px;height:110px;max-width:110px;max-height:110px;object-fit:contain;margin:0 auto 12px}.login-brand-title{font-size:22px;font-weight:800;color:var(--primary2)}.print-logo-only{display:none}
@media(max-width:650px){.header-brand{width:100%;justify-content:center}.header-logo{width:34px;height:34px;max-width:34px;max-height:34px;flex-basis:34px}.header-brand h1{font-size:20px}.login-brand-logo{width:92px;height:92px;max-width:92px;max-height:92px}}
@media print{.print-logo-only{display:block;text-align:center;margin:0 0 14px}.print-logo-only img{width:80px;height:80px;max-width:80px;max-height:80px;object-fit:contain}.app-header,.tabs,.header-actions,.no-print,button{display:none!important}body{background:#fff!important}.card{box-shadow:none!important;border:0!important}}
