/* v3.2 styles */
*{box-sizing:border-box}
html,body{margin:0;padding:0;height:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
body{background:#0f1115;color:#e5e7eb}
a{color:#93c5fd;text-decoration:none}a:hover{text-decoration:underline}
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}
.card{background:#151923;padding:24px;border-radius:16px;width:100%;max-width:360px;box-shadow:0 10px 30px rgba(0,0,0,.4)}
.card h2{margin:0 0 16px}
label{display:block;margin-top:12px;margin-bottom:6px;font-size:14px;color:#9ca3af}
input,textarea,select{width:100%;padding:10px 12px;border:1px solid #232838;border-radius:10px;background:#0c0f15;color:#e5e7eb;outline:none}
textarea{resize:vertical}
button{background:#2563eb;color:#fff;border:0;border-radius:10px;padding:10px 14px;cursor:pointer}
button:hover{filter:brightness(1.1)}
button.outline{background:transparent;border:1px solid #384152;color:#cbd5e1}
button.secondary{background:#10b981}
.err{color:#ef4444;margin-top:8px;min-height:20px}
.app{display:flex;flex-direction:column;min-height:100vh}
.topbar{display:flex;align-items:center;gap:12px;padding:10px 16px;background:#12172a;border-bottom:1px solid #1f2433;position:sticky;top:0;z-index:30}
.brand{font-weight:700}.spacer{flex:1}.user{display:flex;align-items:center;gap:8px}
.view-tabs{display:flex;gap:8px;align-items:center;padding:10px 16px;background:#0f1323;border-bottom:1px solid #1b2030;position:sticky;top:48px;z-index:26}
.tab-switch{background:#1b2342;border:1px solid #263056;border-radius:10px;padding:6px 10px;cursor:pointer}
.tab-switch.active{background:#2563eb;border-color:#2563eb}
.toolbar{padding:10px 16px;background:#0f1323;border-bottom:1px solid #1b2030;display:flex;gap:8px}
.board-wrap{padding:12px;overflow:auto}
.board{display:flex;align-items:flex-start;gap:12px;min-height:calc(100vh - 240px)}
.loading{opacity:.7}
.mytasks{padding:12px;border-bottom:1px solid #1b2030;background:#0f1323}
.mytasks-header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.mytasks .filters{display:flex;gap:8px;align-items:center}
.mytasks-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.task-row{display:flex;justify-content:space-between;align-items:center;background:#0e1324;border:1px solid #20263a;border-radius:10px;padding:8px}
.task-row .title{font-weight:600}
.task-row.overdue .title{color:#f87171}
.task-row.done{opacity:.6;text-decoration:line-through}
.column{min-width:300px;max-width:360px;background:#131827;border:1px solid #1b2030;border-radius:16px;display:flex;flex-direction:column;max-height:calc(100vh - 260px)}
.column-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #1b2030;position:sticky;top:0;background:#131827;border-top-left-radius:16px;border-top-right-radius:16px;z-index:5}
.column-title{font-weight:600}
.column-body{padding:10px;display:flex;flex-direction:column;gap:8px;overflow:auto}
.card-deal{background:#0e1324;border:1px solid #20263a;border-radius:12px;padding:10px;cursor:grab}
.card-deal.dragging{opacity:.5}
.card-deal .title{font-weight:600}
.meta{display:flex;gap:8px;flex-wrap:wrap;font-size:12px;color:#9ca3af}
.deal-actions{display:flex;gap:6px;margin-top:8px}
.icon-btn{background:transparent;border:1px solid #2b344c;color:#cbd5e1;border-radius:10px;padding:4px 8px;cursor:pointer}
.icon-btn:hover{background:#0c1020}
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(2px);z-index:40}
.modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:50}
.modal.hidden,.modal-backdrop.hidden{display:none}
.modal-card{width:min(1100px,96vw);background:#11162a;border:1px solid #1c2340;border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,.5);max-height:92vh;display:flex;flex-direction:column}
.modal-header{display:flex;justify-content:space-between;align-items:center;padding:12px;border-bottom:1px solid #1c2340}
.modal-header.sticky{position:sticky;top:0;background:#11162a;z-index:6}
.modal-body{padding:12px;overflow:auto}
.actions{margin-top:12px;display:flex;gap:8px}
.tabs{display:flex;gap:8px;margin-bottom:8px;border-bottom:1px solid #1c2340;position:sticky;top:0;background:#11162a;padding-bottom:8px;z-index:5}
.tab-btn{background:#1b2342;border:1px solid #263056;border-radius:10px;padding:6px 10px;cursor:pointer}
.tab-btn.active{background:#2563eb;border-color:#2563eb}
.tab-panel{display:none;position:relative;padding-bottom:56px}
.tab-panel.active{display:block}
.panel-footer{position:sticky;bottom:0;background:#11162a;border-top:1px solid #1c2340;padding:8px;margin-top:8px;z-index:4}
.comments{display:flex;flex-direction:column;gap:8px}
.comment-item{background:#0e1324;border:1px solid #20263a;border-radius:10px;padding:8px}
.attachments{display:flex;flex-direction:column;gap:6px}
.attachments .file{font-size:14px}
.empty-hint:empty::after{content:'Файлов пока нет. Загрузите первый 👆'; color:#9ca3af}
.tasks{display:flex;flex-direction:column;gap:8px;padding-top:8px}
.task{background:#0e1324;border:1px solid #20263a;border-radius:10px;padding:8px;display:flex;justify-content:space-between;align-items:center}
.task .title{font-weight:600}
.task .meta{font-size:12px;color:#9ca3af}
.task .done{opacity:.6;text-decoration:line-through}
.task-form textarea{margin-top:8px}
.pay-summary{display:flex;gap:16px;flex-wrap:wrap;margin:8px 0}
#confetti{pointer-events:none;position:fixed;inset:0;z-index:60}
.flash{position:fixed;inset:0;background:rgba(255,255,255,0.0);z-index:55;animation:flash .8s ease-in-out forwards}
#flash{pointer-events:none}
@keyframes flash{0%{background:rgba(255,255,255,0)}20%{background:rgba(255,255,255,.4)}60%{background:rgba(255,255,255,.2)}100%{background:rgba(255,255,255,0)}}
.hint{color:#9ca3af;font-size:13px;margin-top:8px}
.hidden{display:none}

/* v3.3.2 datepicker polyfill */
.dp-wrap{position:absolute;background:#11162a;border:1px solid #1c2340;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.5);z-index:70;padding:8px}
.dp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.dp-head .dp-title{text-transform:capitalize}
.dp-head button{background:#1b2342;border:1px solid #263056;border-radius:8px;padding:4px 8px;cursor:pointer}
.dp-grid{display:flex;flex-direction:column;gap:4px}
.dp-row{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.dp-cell{padding:8px 6px;text-align:center;border-radius:8px;border:1px solid transparent;cursor:pointer}
.dp-cell:hover{background:#0e1324;border-color:#263056}
.dp-cell.selected{background:#2563eb;border-color:#2563eb}
.dp-cell.muted{opacity:.45}
.dp-week .dp-cell{font-size:12px;color:#9ca3af;border:0;cursor:default}
.dp-btn{display:inline-block;width:28px;height:28px;margin-left:6px;vertical-align:middle;border:1px solid #263056;border-radius:8px;background:#1b2342;cursor:pointer}
.dp-btn::after{content:'📅';display:inline-block;line-height:26px;text-align:center;width:100%}

/* v3.4 datetime picker */
.dtp-overlay{position:absolute;inset:0;z-index:80}
.dtp{position:absolute;background:#11162a;border:1px solid #1c2340;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.5);padding:10px}
.dtp-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.dtp .tabs{display:flex;gap:6px}
.dtp .tab{background:#1b2342;border:1px solid #263056;border-radius:8px;padding:6px 10px;cursor:pointer}
.dtp .tab.active{background:#2563eb;border-color:#2563eb}
.dtp .btn{background:#1b2342;border:1px solid #263056;border-radius:8px;padding:6px 10px;cursor:pointer;color:#e5e7eb}
.dtp .btn.ghost{background:transparent}
.dtp .btn.primary{background:#10b981;border-color:#10b981;color:#0b1215}
.dtp .spacer{flex:1}
.dtp-body{min-width:320px}
.dtp-date,.dtp-time{display:none}
.dtp-date.active,.dtp-time.active{display:block}
.dtp-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.dtp-month{text-transform:capitalize}
.dtp-grid{display:flex;flex-direction:column;gap:4px}
.dtp-row{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.dtp-cell{padding:8px 6px;text-align:center;border-radius:8px;border:1px solid transparent;cursor:pointer}
.dtp-cell:hover{background:#0e1324;border-color:#263056}
.dtp-cell.selected{background:#2563eb;border-color:#2563eb}
.dtp-cell.muted{opacity:.45}
.dtp-week .dtp-cell{font-size:12px;color:#9ca3af;border:0;cursor:default}
.dtp-footer{display:flex;align-items:center;gap:8px;margin-top:8px}
.time-row{display:flex;align-items:center;gap:12px;margin:10px 0}
.time-box{width:80px;text-align:center}
.time-val{font-size:28px;font-weight:700}
.time-label{font-size:12px;color:#9ca3af}

/* v3.6 stronger contrast & themes */
:root{ --bg:#0f1115; --text:#e5e7eb; --muted:#9ca3af; --panel:#12172a; --panel2:#0f1323; --border:#1f2433; --card:#0b1222; --card-border:#2b344c; --accent:#2563eb; --success:#10b981; }
body.theme-light{ --bg:#f6f7fb; --text:#0f172a; --muted:#475569; --panel:#ffffff; --panel2:#f3f4f6; --border:#e5e7eb; --card:#ffffff; --card-border:#d1d5db; --accent:#2563eb; --success:#059669; }
body{background:var(--bg); color:var(--text)}
.topbar{background:var(--panel); border-bottom:1px solid var(--border)}
.view-tabs{background:var(--panel2); border-bottom:1px solid var(--border)}
.toolbar{background:var(--panel2); border-bottom:1px solid var(--border)}
.column{background:#131827;border:1px solid var(--border)}
.column-header{background:#131827;border-bottom:1px solid var(--border)}
.card-deal{background:var(--card); border:1px solid var(--card-border)}
.icon-btn{border:1px solid var(--card-border); color:var(--text)}
button{background:var(--accent)}
button.secondary{background:var(--success)}
.meta{color:var(--muted)}
.card-deal .title{color:var(--text)}
