/* Ported from the original Task Tracker app. Original visual layout and palette preserved. */
body{margin:0;background:#101b30;color:#edf3ff;font-family:Arial,sans-serif}*{box-sizing:border-box}button,input,textarea,select{font:inherit}button{cursor:pointer}.shell{max-width:1200px;margin:auto;padding:35px 22px}.top,.sectionhead,.hero,.task{display:flex;justify-content:space-between;align-items:center;gap:20px}.eyebrow{font-size:11px;letter-spacing:.16em;color:#9cb0ce;font-weight:800}.top h1{font-size:36px;margin:5px 0}.top p,.hero p,.muted{color:#a5b5ce}.primary,.green{background:#455fca;border:0;border-radius:9px;color:white;padding:12px 18px;font-weight:bold}.green{background:#258d70;margin-top:20px}.hero,.panel{border:1px solid #405777;border-radius:18px;background:#1c2c48;margin-top:24px;padding:27px}.hero h2,.panel h2{font-family:Georgia,serif;margin:10px 0}.stats{display:flex;gap:12px}.stats div{background:#ffffff10;padding:20px;border-radius:12px;min-width:115px}.stats strong{display:block;font-size:30px}.stats span,.task p,.taskside small{font-size:12px;color:#afbfda}.sectionhead input{width:250px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0}.tabs button,.taskside button{background:#2d4165;color:white;border:1px solid #4e6590;border-radius:8px;padding:9px}.tabs .active{background:#4a63a2}.tabs b{background:#d9e2f5;color:#172744;border-radius:15px;padding:2px 5px}.list{display:grid;gap:10px}.task{background:#2b3850;border-left:4px solid #6986b0;border-radius:10px;padding:17px;align-items:start}.task h3{font-family:Georgia,serif;margin:0 0 7px}.task p{margin:0}.high,.error{color:#ffc2ba}.last{font-size:13px;color:#cbd8ed;margin-top:12px}.taskside{min-width:145px;text-align:right}.taskside small{display:block;margin:6px 0}.meter{height:6px;background:#4b5c77;border-radius:8px;overflow:hidden}.meter span{display:block;background:#4dc99b;height:100%}.empty{padding:25px;text-align:center;color:#b8c8e0}.feeditem{border-top:1px solid #425675;padding:15px 0;font-size:13px}.feeditem span{float:right;color:#a8bad4}.feeditem p{color:#b8c8e0}.overlay{position:fixed;inset:0;background:#07101bc9;display:grid;place-items:center;padding:15px}.modal{position:relative;width:min(500px,100%);background:#223654;border:1px solid #58709b;border-radius:15px;padding:28px}.modal label{display:block;font-size:13px;margin:15px 0}.modal input,.modal textarea,.modal select,.sectionhead input{display:block;width:100%;background:#14243c;border:1px solid #52698c;border-radius:8px;color:white;padding:10px;margin-top:6px}.submit{width:100%;margin-top:10px}.close{position:absolute;right:18px;top:15px;background:none;border:0;color:white;font-size:24px}@media(max-width:750px){.hero,.task{display:block}.stats{margin-top:20px;overflow:auto}.sectionhead{display:block}.sectionhead input{width:100%}.taskside{text-align:left;margin-top:16px}.shell{padding:18px}}
.hero-copy{flex:0 0 30%;min-width:220px}.hero{align-items:stretch}.report-label{display:block;color:#c8d5eb;font-size:13px;font-weight:700;margin-top:20px}.report-label input{display:block;width:100%;background:#14243c;border:1px solid #52698c;border-radius:8px;color:white;padding:10px;margin-top:7px}.summary-preview{flex:1;min-width:0;min-height:250px;background:#14243c;border:1px solid #52698c;border-radius:12px;color:#eaf0ff;resize:vertical;padding:18px;font-size:13px;line-height:1.55}.stats{margin:20px 0}.taskside{min-width:230px}.task-actions{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}.task-actions button{font-size:12px}.modal .muted{font-size:13px}@media(max-width:750px){.hero-copy{min-width:0}.summary-preview{display:block;width:100%;margin-top:22px}.taskside{min-width:0}.task-actions{justify-content:flex-start}}
.admin-panel .muted{margin:16px 0;color:#a5b5ce}.department-pills{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.department-pills span{border:1px solid #52698c;border-radius:20px;padding:7px 11px;font-size:12px;color:#d6e3fa}.member-list{display:grid;gap:8px}.member-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #405777;padding:12px 0}.member-row small{display:block;color:#a5b5ce;margin-top:4px}.board-controls{display:flex;gap:8px}.board-controls select{background:#14243c;border:1px solid #52698c;border-radius:8px;color:white;padding:10px}.panel a{color:#b7ceff}@media(max-width:750px){.member-row,.board-controls{display:block}.member-row .task-actions{margin-top:8px}.board-controls select{width:100%;margin-bottom:8px}}
.signout{color:#c9d8f2;font-size:13px;align-self:center;margin-left:10px}
.dashboard-brand{display:flex;align-items:center;gap:18px}.dashboard-logo{width:110px;height:110px;object-fit:contain;background:white;border-radius:14px;padding:5px}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top right,#254275,#101b30 58%)}.login-card{width:min(100%,460px);background:#fff;color:#17326d;border-radius:24px;padding:30px;text-align:center;box-shadow:0 30px 90px #0005}.login-logo{display:block;width:min(100%,360px);height:auto;margin:auto}.login-card p{color:#536583;line-height:1.5;margin:12px 0 24px}.login-button{display:block;background:#1e3a7a;color:#fff;text-decoration:none;border-radius:10px;padding:14px 20px;font-weight:700}.login-card a:not(.login-button){color:#1e3a7a}@media(max-width:750px){.dashboard-logo{width:72px;height:72px}.dashboard-brand{gap:10px}.top h1{font-size:24px}.top{align-items:flex-start;flex-direction:column}}

/* Only the additions needed for independent password login and small-screen usability. */
.login-card h1{margin:8px 0 0;font-family:Georgia,serif;font-size:27px}
.login-label{display:block;text-align:left;color:#263b66;font-weight:700;font-size:13px;margin:14px 0}
.login-label input{display:block;width:100%;background:#f7f9ff;border:1px solid #c9d3e5;border-radius:9px;color:#1b2d53;padding:12px;margin-top:7px}
.login-card .login-button{display:block;width:100%;border:0;margin-top:16px;text-align:center;cursor:pointer}
.login-error{color:#a41c28!important;background:#fff0f1;border-radius:8px;padding:10px}
.login-foot{font-size:12px!important;margin-top:19px!important}
.logout-form{display:inline-flex;align-items:center;margin:0}
.top .signout{border:0;background:transparent;padding:7px;color:#c9d8f2;font-size:13px;align-self:center;cursor:pointer;margin-left:3px}
.error[hidden]{display:none}
.admin-panel .task-actions button:not(.primary){background:#2d4165;color:white;border:1px solid #4e6590;border-radius:8px;padding:9px}
.task-actions .primary{background:#455fca!important;border:0!important;padding:12px 18px!important}
.modal input[type=range]{accent-color:#51cf9e}
.modal .password-help{font-size:12px;color:#a5b5ce}
.modal .error{min-height:1em}
.top .task-actions{align-items:center}
@media(max-width:750px){.top .task-actions{justify-content:flex-start}.dashboard-logo{background:#fff}.sectionhead .task-actions{margin-top:12px}}

/* Responsive layout for browser and installed PWA. */
:root{color-scheme:dark}
html{overflow-x:hidden}
body{overflow-x:hidden}
button,select,input,textarea{max-width:100%}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #91b4ff;outline-offset:2px}
.panel,.hero,.task,.modal{min-width:0}
.hero-copy{max-width:100%}
.summary-preview{min-width:0}
.overlay{z-index:1000;overflow-y:auto;overscroll-behavior:contain}
.modal{max-height:calc(100dvh - 30px);overflow-y:auto}
@media(max-width:850px){
  .shell{padding:22px 16px}
  .hero{flex-direction:column;align-items:stretch}
  .hero-copy{flex:1 1 auto;min-width:0}
  .summary-preview{width:100%;min-height:150px}
  .top{flex-direction:column;align-items:stretch}
  .top .task-actions{justify-content:flex-start;flex-wrap:wrap}
  .sectionhead{align-items:stretch;flex-direction:column;gap:12px}
  .stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;gap:8px}
  .stats div{min-width:0;padding:14px 10px}
  .stats strong{font-size:26px}
}
@media(max-width:520px){
  .shell{padding:13px 11px max(18px,env(safe-area-inset-bottom))}
  .hero,.panel{padding:16px 13px;border-radius:14px;margin-top:15px}
  .top h1{font-size:25px}
  .top p{font-size:12px}
  .dashboard-logo{width:64px;height:64px}
  .stats strong{font-size:23px}
  .stats span{font-size:11px}
  .board-controls,.board-controls select,.board-controls input{width:100%}
  .task{display:block;padding:14px 12px}
  .task h3{font-size:18px;overflow-wrap:anywhere}
  .taskside{margin-top:15px;min-width:0;text-align:left}
  .task-actions{display:flex;gap:8px}
  .task-actions button,.tabs button,.green,.primary{min-height:44px}
  .tabs{margin:16px 0;gap:6px}
  .tabs button{padding:9px 10px}
  .login-page{padding:12px;min-height:100dvh}
  .login-card{padding:20px 18px;border-radius:18px}
  .login-card h1{font-size:24px}
  .login-label input,.modal input,.modal select,.modal textarea{min-height:44px;font-size:16px}
  .modal{padding:20px 16px;max-height:calc(100dvh - 24px)}
  .member-row{align-items:stretch}
  .feeditem span{float:none;display:block;margin-bottom:8px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* CSV bulk import: accessible on desktop and narrow mobile browsers. */
.import-sample{font-size:13px;line-height:1.6;color:#c5d6ee}
.import-sample a{font-weight:700;text-decoration:underline;text-underline-offset:3px;color:#b9d7ff}
.import-summary{border:1px solid #56769e;border-radius:9px;background:#173050;color:#dbf0ff;padding:12px;margin:16px 0;line-height:1.6;font-size:13px;overflow-wrap:anywhere}
.import-summary:empty{display:none}
.import-summary.import-invalid{border-color:#c07d74;background:#422c40;color:#ffe6e1}
.modal input[type=file]{padding:11px 8px;overflow-wrap:anywhere}
@media(max-width:520px){.import-summary{font-size:12px}.modal input[type=file]{font-size:13px;min-height:44px}}

/* V1.6: only task CSV actions live on the task board. */
.board-controls{align-items:center;flex-wrap:wrap}
.board-controls .csv-action{background:#2d4165;color:white;border:1px solid #4e6590;border-radius:8px;padding:10px 12px;min-height:44px;white-space:nowrap;font-size:12px}
@media(max-width:750px){.board-controls .csv-action{width:100%;margin-top:8px}.board-controls input{width:100%}}

/* Install button stays hidden until the browser offers installation. */
.pwa-install:not([hidden]){display:inline-flex;justify-content:center;align-items:center;background:#314b86;color:#fff;border:1px solid #6078ad;border-radius:8px;min-height:42px;padding:10px 14px;font-weight:700}
.login-card .pwa-install{margin:12px auto 0}
@media(display-mode:standalone){.shell{padding-top:max(20px,env(safe-area-inset-top))}.login-page{padding-top:max(12px,env(safe-area-inset-top))}}
