:root{--ink:#202b3c;--muted:#788397;--line:#e6eaf0;--bg:#f5f7fb;--panel:#fff;--blue:#4567e8;--shadow:0 10px 30px rgba(32,43,60,.08)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px}.app-shell{min-height:100vh}.topbar{min-height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 30px;gap:30px}.brand{display:flex;align-items:center;gap:10px;color:#26334a;text-decoration:none;font-size:21px;font-weight:800;letter-spacing:-.8px;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,#526ff0,#8b63e9);color:white;font-size:20px}.top-search{display:flex;align-items:center;gap:10px;background:#f5f7fa;border:1px solid #edf0f4;border-radius:9px;padding:0 12px;width:min(400px,38vw);height:38px;color:#8a95a8;font-size:22px}.top-search input{background:transparent;border:0;outline:0;width:100%;font:inherit;font-size:13px;color:var(--ink)}.top-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.icon-btn,.tiny-icon,.close-btn{border:0;background:transparent;color:#7b8798;cursor:pointer;font-size:19px}.icon-btn{border:1px solid var(--line);border-radius:50%;width:31px;height:31px;font-size:14px}.avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#f4d8c9;color:#8e4d36;font-size:11px;font-weight:800;flex-shrink:0}.user-menu{display:flex;flex-direction:column;gap:2px;font-size:11px;min-width:100px}.user-menu>span{font-weight:750}.user-menu small{color:#8a95a5}.user-menu form{margin-top:2px}.user-menu .quiet-btn{padding:0;text-align:left;font-size:10px}.workspace-bar{min-height:86px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:12px 34px;border-bottom:1px solid var(--line);gap:15px}.workspace-title,.workspace-controls,.board-heading,.board-tools{display:flex;align-items:center}.workspace-title{gap:13px}.workspace-icon{width:38px;height:38px;display:grid;place-items:center;background:#e9eaff;color:#5c5dd8;border-radius:10px;font-weight:800;font-size:18px}.eyebrow{font-size:9px;letter-spacing:1.4px;font-weight:800;color:#9aa3b1;margin-bottom:4px}.workspace-title h1{font-size:16px;margin:0;font-weight:750}.tiny-icon{font-size:15px;margin-left:1px}.workspace-controls{gap:9px;flex-wrap:wrap}.primary-btn,.outline-btn,.filter-btn{font:inherit;font-size:12px;font-weight:700;border-radius:8px;padding:10px 14px;cursor:pointer;transition:.15s}.primary-btn{background:var(--blue);border:1px solid var(--blue);color:white;box-shadow:0 4px 10px #4567e826}.primary-btn:hover{background:#3454d4}.outline-btn,.filter-btn{background:#fff;border:1px solid #dfe4ec;color:#4f5b6e}.outline-btn:hover,.filter-btn:hover{background:#f7f8fb}.board-area{padding:31px 34px 20px;overflow:hidden}.board-heading{justify-content:space-between;margin-bottom:25px;gap:15px}.board-heading h2{font-size:21px;letter-spacing:-.45px;margin:0 0 6px}.board-heading p{color:#8a95a5;margin:0;font-size:12px}.board-tools{gap:8px}.filter-btn{padding:8px 12px;font-weight:600}.filter-btn span{display:inline-block;width:6px;height:6px;border-radius:50%;background:#e39b48;margin-left:4px;vertical-align:middle}.board{display:flex;align-items:flex-start;gap:17px;overflow-x:auto;padding:0 0 20px;min-height:400px}.list-column{width:280px;min-width:280px;background:#f0f3f8;border:1px solid #e9edf3;border-radius:12px;padding:13px 11px 11px;max-height:calc(100vh - 310px);display:flex;flex-direction:column}.list-head{display:flex;align-items:center;gap:8px;padding:2px 3px 13px}.list-color{width:8px;height:8px;border-radius:3px;background:#8b78e6;flex-shrink:0}.list-column[data-color="blue"] .list-color{background:#5e83ed}.list-column[data-color="orange"] .list-color{background:#e8a04e}.list-column[data-color="green"] .list-color{background:#48b79b}.list-title{border:0;background:transparent;font:inherit;font-weight:750;color:#354155;outline:0;min-width:0;flex:1;width:100%}.list-count{color:#9ba5b4;font-size:11px}.list-menu{border:0;background:transparent;color:#9ba5b4;cursor:pointer;font-weight:800;padding:2px 4px}.cards{display:flex;flex-direction:column;gap:10px;overflow-y:auto;min-height:10px;padding:0 1px 4px}.task-card{background:white;border:1px solid #e7ebf1;border-radius:9px;padding:12px 12px 10px;box-shadow:0 2px 4px #273b5a05;cursor:grab;transition:box-shadow .15s,transform .15s}.task-card:hover{box-shadow:0 5px 14px #263a5b12;transform:translateY(-1px)}.task-card.dragging{opacity:.45}.label-pill{display:inline-block;font-size:9px;letter-spacing:.2px;font-weight:800;border-radius:4px;padding:4px 7px;margin-bottom:9px}.label-violet{background:#eee8ff;color:#7c59c7}.label-blue{background:#e3efff;color:#3974c9}.label-green{background:#def6ed;color:#218969}.label-orange{background:#fff0dc;color:#bd7727}.label-pink{background:#ffe4eb;color:#c74f72}.task-title{font-weight:650;font-size:12px;line-height:1.5;margin-bottom:7px;color:#344055;overflow-wrap:anywhere}.task-description{font-size:11px;color:#8a95a5;line-height:1.5;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.task-meta{display:flex;align-items:center;gap:7px;color:#9aa4b2;font-size:10px}.task-meta .due{padding:4px 6px;border-radius:4px;background:#f3f5f8}.task-meta .due.overdue{background:#ffe7e8;color:#c74c57}.assignee{margin-left:auto;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#e4eafa;color:#4e67b2;font-size:8px;font-weight:800}.add-card{border:0;background:transparent;color:#8c97a8;display:flex;align-items:center;gap:7px;padding:11px 5px 4px;font:inherit;font-size:11px;cursor:pointer;text-align:left}.add-card:hover{color:#4567e8}.add-list-column{width:280px;min-width:280px}.add-list-btn{width:100%;text-align:left;background:#e9edf4;border:1px dashed #cfd7e4;border-radius:11px;padding:14px;color:#657187;font:inherit;font-size:12px;font-weight:650;cursor:pointer}.add-list-btn:hover{background:#e3e8f2}.board-foot{display:flex;justify-content:space-between;color:#9aa4b2;font-size:11px;border-top:1px solid #e5e9f0;padding-top:15px}.live-dot{display:inline-block;width:6px;height:6px;background:#45bb91;border-radius:50%;margin-right:6px}.modal-backdrop{position:fixed;inset:0;background:#19253a75;z-index:20;display:grid;place-items:center;padding:20px;overflow:auto}.modal-backdrop[hidden],.popover[hidden]{display:none}.modal{width:min(540px,100%);max-height:calc(100vh - 40px);overflow:auto;background:white;border-radius:16px;padding:25px;box-shadow:0 24px 80px #14203944}.modal-small{width:min(440px,100%)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:23px}.modal-head h2{font-size:20px;margin:0;letter-spacing:-.4px}.close-btn{font-size:26px;line-height:1}.modal form{display:flex;flex-direction:column;gap:16px}.modal label,.popover label,.auth-form label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:750;color:#657187}.modal input,.modal textarea,.modal select,.popover input,.popover select,.auth-form input{width:100%;font:inherit;font-size:13px;color:#2d394e;border:1px solid #dfe4ec;border-radius:8px;padding:11px 12px;outline:none;background:white}.modal textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.modal-actions{display:flex;align-items:center;gap:9px;margin-top:5px}.spacer{flex:1}.danger-text{border:0;background:transparent;color:#ce4f5d;font:inherit;font-size:12px;font-weight:700;cursor:pointer;padding:9px 0}.popover{position:fixed;z-index:15;top:200px;right:100px;width:245px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:13px}.popover strong{font-size:13px}.full-btn{width:100%}.quiet-btn{border:0;background:transparent;color:#778397;font:inherit;font-size:12px;padding:8px;cursor:pointer}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:#26334a;color:white;padding:11px 17px;border-radius:8px;box-shadow:var(--shadow);font-size:12px;opacity:0;pointer-events:none;transition:.2s;z-index:50}.toast.show{opacity:1;transform:translate(-50%,0)}.empty-list,.empty-comments{padding:15px 8px;color:#9aa4b2;font-size:11px;text-align:center}.comments-list{display:flex;flex-direction:column;gap:8px;max-height:190px;overflow:auto}.comment{border:1px solid #edf0f5;border-radius:8px;padding:10px}.comment-head{display:flex;justify-content:space-between;gap:10px;font-size:10px}.comment-head time,.activity-item time{display:block;color:#9aa4b2;font-size:9px;margin-top:4px}.comment p{margin:7px 0 0;font-size:12px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.comment-compose{display:flex;gap:8px}.comment-compose input{flex:1;min-width:0}.member-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #edf0f5}.member-avatar{width:33px;height:33px;display:grid;place-items:center;border-radius:50%;background:#e5eaff;color:#5265ba;font-size:10px;font-weight:800}.member-details{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.member-details strong{font-size:12px}.member-details small{color:#8a95a5;font-size:10px;overflow-wrap:anywhere}.role-pill{font-size:9px;color:#6c7890;background:#f0f3f8;border-radius:20px;padding:5px 8px}.invite-panel{margin-top:19px;padding-top:15px;border-top:1px solid var(--line)}.invite-panel h3{font-size:13px;margin:0 0 6px}.invite-panel p{font-size:11px;color:#8a95a5;line-height:1.5}.activity-list{display:flex;flex-direction:column;gap:0;max-height:55vh;overflow:auto}.activity-item{display:flex;align-items:flex-start;gap:10px;padding:12px 0;border-bottom:1px solid #edf0f5;font-size:11px;line-height:1.5}.activity-dot{width:7px;height:7px;border-radius:50%;background:#8a8ef1;margin-top:5px;flex-shrink:0}.activity-item strong{font-weight:750}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at top left,#e7eaff,transparent 45%),var(--bg)}.auth-card{width:min(430px,100%);background:white;border:1px solid #e8ebf2;border-radius:18px;padding:34px;box-shadow:0 18px 60px #2e3c5a12}.auth-brand{margin-bottom:32px}.auth-intro h1{font-size:24px;letter-spacing:-.7px;margin:0 0 8px}.auth-intro p{font-size:13px;color:#8792a4;margin:0 0 23px}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-form .primary-btn{margin-top:4px}.auth-switch{text-align:center;color:#788397;font-size:12px;margin:22px 0 0}.auth-switch a{color:#4567e8;font-weight:750;text-decoration:none}.auth-note{color:#9aa4b2;font-size:10px;line-height:1.5;margin:16px 0 0;text-align:center}.form-error{padding:10px 12px;border-radius:8px;background:#fff0f0;color:#b94d58;font-size:12px;margin-bottom:15px}.auth-form input:focus,.modal input:focus,.modal textarea:focus,.modal select:focus,.popover input:focus,.popover select:focus{border-color:#8a9cf4;box-shadow:0 0 0 3px #4567e815}@media(max-width:800px){.topbar{padding:12px 16px;gap:14px;flex-wrap:wrap}.top-search{order:3;width:100%;flex-basis:100%}.top-actions{gap:7px}.user-menu{min-width:80px}.workspace-bar{padding:12px 16px;align-items:flex-start;flex-direction:column}.workspace-controls{width:100%}.board-area{padding:24px 16px}.board-heading{align-items:flex-start;flex-direction:column}.board-tools{width:100%}.list-column{max-height:calc(100vh - 330px)}.popover{right:16px;top:190px}.form-grid{grid-template-columns:1fr}}@media(max-width:430px){.user-menu{display:none}.auth-card{padding:25px}.workspace-controls .outline-btn,.workspace-controls .primary-btn{padding:9px 10px;font-size:11px}.board-heading h2{font-size:19px}}
/* Flowboard visual refresh: polished auth pages, board widgets and theme support */
.auth-page{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(135deg,#f5f7ff 0%,#f7f5ff 48%,#eef7ff 100%)}
.auth-page:before,.auth-page:after{content:"";position:fixed;z-index:-1;border-radius:50%;filter:blur(2px);pointer-events:none}
.auth-page:before{width:460px;height:460px;left:-150px;top:-160px;background:radial-gradient(circle,#aab8ff70,transparent 68%)}
.auth-page:after{width:540px;height:540px;right:-170px;bottom:-210px;background:radial-gradient(circle,#c8b6ff75,transparent 68%)}
.auth-card{position:relative;border:1px solid #ffffffd9;border-radius:24px;padding:42px 40px;box-shadow:0 30px 90px #28365a17,0 3px 12px #28365a08;backdrop-filter:blur(16px);animation:auth-rise .45s ease both}
.auth-brand{font-size:24px;letter-spacing:-1px;margin-bottom:38px}
.auth-brand .brand-mark{width:38px;height:38px;border-radius:12px;font-size:24px;box-shadow:0 8px 18px #6575ec40}
.auth-intro h1{font-size:29px;letter-spacing:-1.1px;line-height:1.2}
.auth-intro p{line-height:1.65;margin-top:10px;margin-bottom:27px}
.auth-form{gap:18px}
.auth-form label{gap:8px;color:#4e5a70;font-size:12px}
.auth-form input{height:47px;border-radius:10px;padding:0 14px;background:#fbfcff;border-color:#e3e8f2;transition:border-color .18s,box-shadow .18s,background .18s}
.auth-form input:focus{background:white;border-color:#7d8ef3;box-shadow:0 0 0 4px #526ff018}
.auth-form .primary-btn{height:47px;border-radius:10px;font-size:13px;letter-spacing:.1px;box-shadow:0 8px 18px #4567e82b}
.auth-switch{margin-top:24px;font-size:12px}
.auth-note{line-height:1.6;margin-top:19px}
.form-error{border:1px solid #ffd8dd;border-radius:10px;line-height:1.5}
@keyframes auth-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.dashboard-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:0 0 26px}
.stat-card{display:flex;align-items:center;gap:12px;min-height:77px;padding:14px 16px;background:#fff;border:1px solid #e8ecf3;border-radius:12px;box-shadow:0 3px 10px #273b5a04}
.stat-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;font-size:18px;font-weight:800}
.stat-violet{background:#eeeaff;color:#7964d4}.stat-blue{background:#e5efff;color:#4777d5}.stat-green{background:#e0f7ee;color:#239572}.stat-orange{background:#fff0df;color:#c58031}
.stat-card strong{display:block;font-size:21px;letter-spacing:-.5px;line-height:1.2}.stat-card small{display:block;color:#8b96a6;font-size:10px;margin-top:4px}
.edit-board-title{font-size:13px;border:0;background:transparent;color:#9aa4b2;cursor:pointer;vertical-align:middle;margin-left:5px;padding:4px}.edit-board-title:hover{color:#4567e8}
.duplicate-card{float:right;border:0;border-radius:5px;background:transparent;color:#a0a9b7;font-size:15px;cursor:pointer;padding:0 3px;opacity:0;transition:opacity .15s}.task-card:hover .duplicate-card,.duplicate-card:focus{opacity:1}.duplicate-card:hover{background:#edf1fb;color:#4567e8}
.active-filter{background:#edf0ff!important;border-color:#cbd2ff!important;color:#4b5ed0!important}
.calendar-content{display:flex;flex-direction:column;gap:7px;max-height:55vh;overflow:auto}.calendar-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:#fff;border:1px solid #e9edf4;border-radius:9px;padding:11px;cursor:pointer}.calendar-row:hover{background:#f7f8ff;border-color:#d8defe}.calendar-date{display:grid;place-items:center;min-width:48px;height:44px;border-radius:8px;background:#edf0ff;color:#5666c9;font-weight:800;font-size:11px}.calendar-task{display:flex;flex-direction:column;gap:5px;min-width:0}.calendar-task strong{font-size:12px;color:#344055;overflow-wrap:anywhere}.calendar-task small{font-size:10px;color:#8b96a6}
body.dark-mode{--ink:#e8edf7;--muted:#a3aec1;--line:#30394c;--bg:#141925;--panel:#1d2432;background:#141925;color:#e8edf7}
.dark-mode .topbar,.dark-mode .workspace-bar,.dark-mode .stat-card,.dark-mode .modal,.dark-mode .popover,.dark-mode .task-card,.dark-mode .calendar-row{background:#1d2432;border-color:#30394c;color:#e8edf7}
.dark-mode .top-search,.dark-mode .list-column,.dark-mode .add-list-btn{background:#202838;border-color:#30394c}
.dark-mode .top-search input,.dark-mode .list-title,.dark-mode .task-title,.dark-mode .board-heading h2,.dark-mode .workspace-title h1,.dark-mode .modal-head h2,.dark-mode .calendar-task strong{color:#e8edf7}
.dark-mode .board-heading p,.dark-mode .user-menu small,.dark-mode .task-description,.dark-mode .stat-card small,.dark-mode .eyebrow,.dark-mode .calendar-task small{color:#9ca9bd}
.dark-mode .outline-btn,.dark-mode .filter-btn,.dark-mode .icon-btn,.dark-mode .modal input,.dark-mode .modal textarea,.dark-mode .modal select,.dark-mode .popover input,.dark-mode .popover select{background:#202838;border-color:#3a455b;color:#e8edf7}
.dark-mode .task-meta .due{background:#2b3446}.dark-mode .board-foot{border-color:#30394c}.dark-mode .list-count,.dark-mode .add-card{color:#a3aec1}
.dark-mode .member-row,.dark-mode .comment,.dark-mode .activity-item{border-color:#30394c}.dark-mode .member-details strong,.dark-mode .comment-head strong{color:#e8edf7}
.dark-mode .calendar-row:hover{background:#29334a}.dark-mode .auth-card{background:#1d2432;border-color:#30394c}.dark-mode .auth-intro h1,.dark-mode .auth-form label{color:#e8edf7}.dark-mode .auth-intro p,.dark-mode .auth-switch{color:#a3aec1}
@media(max-width:900px){.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-controls{gap:7px}}
@media(max-width:520px){.auth-card{padding:30px 23px;border-radius:18px}.auth-intro h1{font-size:25px}.dashboard-stats{gap:8px}.stat-card{padding:11px;gap:9px;min-height:68px}.stat-icon{width:32px;height:32px}.stat-card strong{font-size:18px}.stat-card small{font-size:9px}.duplicate-card{opacity:1}}


/* Checklist, attachment and archive enhancements */
.checklist-items,.attachments-list,.archive-content{display:flex;flex-direction:column;gap:9px;margin:9px 0 12px}
.checklist-row,.attachment-row,.archive-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border,#e5e7eb);border-radius:10px;background:var(--surface,#fff)}
.checklist-row{justify-content:space-between}
.checklist-row label{display:flex;align-items:center;gap:9px;min-width:0;flex:1;font-weight:500}
.checklist-row input[type=checkbox]{width:16px;height:16px;accent-color:#6d5dfc}
.check-done{text-decoration:line-through;opacity:.58}
.checklist-progress{color:var(--muted,#73798c);font-size:12px;padding:2px 4px}
.attachment-upload{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0 14px}
.attachment-upload input[type=file]{max-width:100%;font-size:12px}
.attachment-upload small{width:100%;color:var(--muted,#73798c)}
.attachment-row .attachment-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#eef2ff;color:#5b54d8;font-size:18px;flex-shrink:0}
.attachment-row>div,.archive-row>div{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.attachment-row a{color:var(--text,#25283a);font-weight:650;overflow-wrap:anywhere;text-decoration:none}
.attachment-row a:hover{text-decoration:underline}
.attachment-row small,.archive-row small{font-size:11px;color:var(--muted,#73798c)}
.archive-row{justify-content:space-between;align-items:center}
.archive-row strong{overflow-wrap:anywhere}
.dark-mode .checklist-row,.dark-mode .attachment-row,.dark-mode .archive-row{background:#1b2030;border-color:#353b4d}
.dark-mode .attachment-row a{color:#eef0ff}
@media(max-width:600px){.attachment-upload{align-items:stretch}.attachment-upload .outline-btn{width:100%}.archive-row{align-items:flex-start;flex-direction:column}.archive-row .outline-btn{width:100%}}

.form-success{margin:14px 0;padding:11px 13px;border-radius:10px;background:#e7f8ef;color:#146c43;font-size:13px}
.account-card hr{border:0;border-top:1px solid var(--border,#e5e7eb);width:100%;margin:4px 0}
.account-section-title{font-size:13px;font-weight:750;margin:0;color:var(--text,#25283a)}

.invite-link-box{margin-top:12px;padding-top:12px;border-top:1px solid var(--border,#e5e7eb)}
.invite-link-box[hidden]{display:none}
.invite-link-box input{font-size:12px}
