:root{
  --bg:#f3f5f7; --panel:#fff; --ink:#17202a; --muted:#6e7986; --line:#e2e7eb;
  --steel:#1f2933; --steel2:#111820; --accent:#d71920; --accent2:#b71117; --ok:#178a5b; --warn:#c98716;
  --shadow:0 14px 36px rgba(18,27,34,.09); --radius:18px;
}
*{box-sizing:border-box} body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;color:var(--ink);background:var(--bg)}
button,input,textarea,select{font:inherit}.hidden{display:none!important}.btn{border:0;border-radius:11px;padding:11px 16px;font-weight:750;cursor:pointer}.primary{background:var(--accent);color:white}.primary:hover{background:var(--accent2)}.ghost{background:transparent;border:1px solid rgba(255,255,255,.18);color:#dde4ea;border-radius:10px;padding:9px 12px;cursor:pointer}
.login-shell{min-height:100vh;display:grid;place-items:center;background:linear-gradient(120deg,#0e151c,#293640);position:relative;overflow:hidden}.login-shell:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(120deg,transparent 0 90px,rgba(255,255,255,.025) 90px 91px)}.login-card{width:min(440px,92vw);position:relative;z-index:1;background:rgba(255,255,255,.98);border-radius:24px;padding:36px;box-shadow:0 30px 80px rgba(0,0,0,.35)}.brand-mark{font-weight:950;letter-spacing:.055em;font-size:26px;color:#111820}.brand-mark span{font-size:12px;background:var(--accent);color:#fff;border-radius:5px;padding:4px 6px;margin-left:6px;vertical-align:middle}.login-card h1{margin:24px 0 5px}.login-card p{margin:0 0 24px;color:var(--muted)}label{display:block;font-size:13px;font-weight:700;margin:14px 0}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;color:var(--ink);outline:none}input:focus,textarea:focus,select:focus{border-color:#9aa9b4;box-shadow:0 0 0 3px rgba(31,41,51,.06)}.login-card .btn{width:100%;margin-top:8px}.login-card small{display:block;margin-top:18px;color:#8a949d}.error{color:var(--accent);font-size:13px;margin-top:10px}
.app{min-height:100vh;display:grid;grid-template-columns:245px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,var(--steel2),var(--steel));color:#eaf0f4;padding:24px 15px;display:flex;flex-direction:column}.sidebar-brand{color:#fff;padding:0 10px 25px;border-bottom:1px solid rgba(255,255,255,.09)}nav{display:flex;flex-direction:column;gap:5px;margin-top:20px}.nav{width:100%;display:grid;grid-template-columns:28px 1fr auto;align-items:center;text-align:left;border:0;color:#c9d1d8;background:transparent;padding:11px 12px;border-radius:11px;cursor:pointer;font-weight:650}.nav i{font-style:normal;font-size:17px;color:#91a0ab}.nav:hover,.nav.active{background:rgba(255,255,255,.09);color:#fff}.nav.active{box-shadow:inset 3px 0 0 var(--accent)}.nav b{font-size:11px;background:var(--accent);padding:2px 7px;border-radius:20px;color:#fff}.side-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.09);padding:16px 8px 0}.side-footer #sideUser{font-size:12px;line-height:1.45;color:#bac5cc;margin-bottom:10px}.main{min-width:0}.topbar{background:#fff;border-bottom:1px solid var(--line);padding:20px 28px;display:flex;gap:20px;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:10}.eyebrow{font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:#8b969f;font-weight:800}.topbar h2{margin:3px 0 0;font-size:23px}.top-actions{display:flex;gap:10px;align-items:center}.search{display:flex;align-items:center;gap:7px;background:#f5f7f8;border:1px solid var(--line);border-radius:11px;padding:0 10px;width:320px}.search input{border:0;background:transparent;box-shadow:none;padding:10px 3px}.content{padding:28px;max-width:1650px;margin:auto}.grid{display:grid;gap:16px}.stats{grid-template-columns:repeat(5,minmax(0,1fr))}.stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;position:relative;overflow:hidden}.stat:after{content:"";position:absolute;right:-15px;top:-18px;width:70px;height:70px;border:12px solid #f0f2f4;border-radius:50%}.stat .label{font-size:12px;color:var(--muted);font-weight:700}.stat .value{font-size:31px;font-weight:900;margin-top:8px}.stat .sub{font-size:11px;color:#9aa3aa;margin-top:3px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 2px 8px rgba(10,20,30,.02)}.panel-head{padding:17px 19px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}.panel-head h3{margin:0;font-size:15px}.panel-body{padding:18px}.two-col{grid-template-columns:1.4fr .8fr;margin-top:16px}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800;background:#edf0f2;color:#51606a}.badge.high,.badge.urgent{background:#ffe9e9;color:#b8191f}.badge.normal{background:#eef3f6;color:#53616b}.badge.low{background:#eef7f2;color:#2c7153}.badge.new{background:#ffeaea;color:#b8191f}.badge.in_progress,.badge.doing{background:#edf3ff;color:#2e5e9a}.badge.waiting{background:#fff3d9;color:#8c681d}.badge.done{background:#eaf6ef;color:#267252}.muted{color:var(--muted)}
.table{width:100%;border-collapse:collapse}.table th{text-align:left;color:#7b8790;font-size:10px;text-transform:uppercase;letter-spacing:.05em;padding:10px 12px;border-bottom:1px solid var(--line)}.table td{padding:12px;border-bottom:1px solid #eef1f3;font-size:13px;vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tbody tr:hover{background:#fafbfc}.clickable{cursor:pointer}.subject{font-weight:750}.unread .subject{font-weight:900}.avatar{width:31px;height:31px;border-radius:10px;background:#e7eaed;display:grid;place-items:center;font-weight:900;font-size:12px}.person{display:flex;align-items:center;gap:9px}.tool-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.tool-row select,.tool-row input{width:auto;min-width:150px}.small-btn{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 10px;font-weight:700;font-size:12px;cursor:pointer}.small-btn:hover{background:#f5f7f8}.danger{color:#ad171c}.kanban{display:grid;grid-template-columns:repeat(4,minmax(230px,1fr));gap:14px;overflow:auto}.kan-col{background:#eef1f3;border-radius:15px;padding:11px;min-height:520px}.kan-head{display:flex;justify-content:space-between;padding:6px 4px 12px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.task-card{background:#fff;border:1px solid #e1e5e8;border-radius:13px;padding:13px;margin-bottom:10px;box-shadow:0 2px 6px rgba(15,25,33,.03)}.task-card h4{margin:0 0 8px;font-size:13px}.task-card p{font-size:11px;line-height:1.45;color:#6f7c86;margin:6px 0}.task-meta{display:flex;gap:6px;align-items:center;justify-content:space-between;margin-top:10px}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project{padding:18px}.project h3{margin:8px 0 4px}.progress{height:7px;background:#edf0f2;border-radius:20px;overflow:hidden;margin:14px 0 6px}.progress span{display:block;height:100%;background:var(--accent);border-radius:20px}.team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.team-card{padding:16px;display:flex;align-items:center;gap:12px}.team-card .avatar{width:42px;height:42px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.cal-cell{min-height:125px;background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px}.cal-head{min-height:auto;background:#f7f8f9;font-size:11px;font-weight:800;text-align:center}.cal-date{font-size:11px;font-weight:800;color:#687680}.cal-event{font-size:10px;padding:5px 6px;margin-top:5px;border-radius:7px;background:#f1f3f5;border-left:3px solid #798792}.cal-event.high,.cal-event.urgent{border-left-color:var(--accent);background:#fff2f2}.activity-item{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:start;padding:10px 0;border-bottom:1px solid #eef1f3}.activity-item:last-child{border:0}.activity-icon{width:29px;height:29px;border-radius:9px;background:#eef1f3;display:grid;place-items:center;font-size:12px}.activity-item strong{font-size:12px}.activity-item p{margin:3px 0;font-size:11px;color:var(--muted)}.activity-item time{font-size:10px;color:#9aa4ac}.empty{padding:55px 20px;text-align:center;color:#8b969e}.email-layout{display:grid;grid-template-columns:430px 1fr;min-height:640px}.email-list{border-right:1px solid var(--line);max-height:72vh;overflow:auto}.email-item{padding:13px 16px;border-bottom:1px solid #edf0f2;cursor:pointer}.email-item:hover,.email-item.active{background:#f7f8f9}.email-item .row1{display:flex;justify-content:space-between;gap:10px}.email-item .sender{font-size:12px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.email-item time{font-size:10px;color:#88939b}.email-item .subj{font-size:12px;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.email-item .snippet{font-size:10px;color:#7d8891;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.email-item.unread .sender,.email-item.unread .subj{font-weight:900}.email-detail{padding:22px}.email-detail h2{font-size:20px;margin:4px 0 13px}.email-meta{display:grid;grid-template-columns:1fr auto;gap:10px;padding-bottom:16px;border-bottom:1px solid var(--line)}.email-body{white-space:pre-wrap;line-height:1.65;font-size:13px;padding:22px 0;min-height:220px}.modal{position:fixed;inset:0;background:rgba(4,10,15,.55);z-index:100;display:grid;place-items:center;padding:20px}.modal-card{background:#fff;border-radius:20px;box-shadow:0 30px 90px rgba(0,0,0,.3);width:min(720px,95vw);max-height:90vh;overflow:auto;padding:23px}.modal-card h2{margin:0 0 14px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .full{grid-column:1/-1}.toast{position:fixed;right:24px;bottom:24px;background:#17202a;color:#fff;border-radius:11px;padding:12px 16px;z-index:200;box-shadow:var(--shadow);font-size:12px}
@media(max-width:1100px){.stats{grid-template-columns:repeat(3,1fr)}.two-col{grid-template-columns:1fr}.project-grid,.team-grid{grid-template-columns:repeat(2,1fr)}.email-layout{grid-template-columns:360px 1fr}.search{width:220px}}
@media(max-width:780px){.app{grid-template-columns:70px 1fr}.sidebar{padding:18px 8px}.sidebar-brand{font-size:15px;padding:0 4px 18px}.sidebar-brand span{display:none}.nav{grid-template-columns:1fr;text-align:center}.nav span,.nav b,.side-footer #sideUser{display:none}.topbar{padding:15px;align-items:flex-start}.top-actions{flex-direction:column;align-items:stretch}.search{width:210px}.content{padding:14px}.stats{grid-template-columns:repeat(2,1fr)}.project-grid,.team-grid{grid-template-columns:1fr}.email-layout{grid-template-columns:1fr}.email-list{border-right:0;max-height:42vh;border-bottom:1px solid var(--line)}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}

/* === CASS CRM 0.2.0 — advanced e-mail + task workspace === */
.stats-six{grid-template-columns:repeat(6,minmax(0,1fr))}.alert-stat{border-color:#f0b4b6;background:#fffafa}.alert-stat .value{color:var(--accent)}
.mini-text{font-size:11px}.compact{padding:8px 12px}.full-btn{width:100%;margin-top:8px}.info-box{background:#f5f7f8;border:1px solid var(--line);border-radius:11px;padding:11px 12px;color:#64717b;font-size:12px}.empty-small{padding:15px 4px;color:#8b969e;font-size:12px}.empty-icon{font-size:34px;margin-bottom:8px}.empty p{font-size:12px;color:#9aa3aa;max-width:420px;margin:8px auto}.owner-pill{display:inline-flex;align-items:center;font-size:10px;font-weight:800;border-radius:999px;padding:4px 8px;background:#edf0f2}.sla-pill{display:inline-flex;align-items:center;background:#ffe1e2;color:#a41319;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:900}.mailbox-chip{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;background:#edf0f2;border-radius:999px;padding:3px 7px;color:#596772}.reminder-panel{margin-top:16px;border-color:#eed8ac}.reminder-row{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;display:flex;justify-content:space-between;align-items:center;text-align:left;padding:10px 4px;cursor:pointer}.reminder-row:last-child{border-bottom:0}.reminder-row:hover{background:#faf8f3}.reminder-row span{font-size:11px;color:var(--muted)}
.activity-button{width:100%;border:0;background:transparent;text-align:left;cursor:pointer}.activity-button:hover{background:#f8fafb}

.email-center{display:grid;grid-template-columns:210px 390px minmax(0,1fr);min-height:720px;overflow:hidden}.mailbox-sidebar{background:#f7f8f9;border-right:1px solid var(--line);padding:14px 10px}.mailbox-title{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#8a959d;padding:7px 9px 10px}.mailbox-item{width:100%;border:0;background:transparent;border-radius:10px;padding:9px 9px;display:grid;grid-template-columns:1fr auto;gap:4px;text-align:left;align-items:center;cursor:pointer;color:#53606a}.mailbox-item>span{display:flex;gap:8px;align-items:center;font-size:12px;font-weight:750}.mailbox-item i{font-style:normal;width:22px;height:22px;border-radius:7px;background:#e5e9ec;display:grid;place-items:center;font-size:10px;font-weight:900}.mailbox-item b{font-size:10px;border-radius:999px;background:#e1e6e9;min-width:21px;text-align:center;padding:2px 5px}.mailbox-item small{grid-column:1/-1;padding-left:30px;font-size:9px;color:#98a1a8}.mailbox-item:hover,.mailbox-item.active{background:#fff;color:#18222a;box-shadow:0 1px 4px rgba(10,20,30,.05)}.mailbox-item.active{box-shadow:inset 3px 0 0 var(--accent),0 1px 4px rgba(10,20,30,.05)}.mailbox-sep{height:1px;background:var(--line);margin:12px 5px}
.thread-column{border-right:1px solid var(--line);min-width:0;background:#fff}.thread-toolbar{display:grid;grid-template-columns:1.1fr 1.2fr 1.2fr;gap:7px;padding:11px;border-bottom:1px solid var(--line);background:#fbfcfc}.thread-toolbar select{font-size:10px;padding:7px 8px}.thread-count{grid-column:1/-1;text-align:right;font-size:9px;color:#8c969e}.thread-search{display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--line);padding:7px 12px;background:#fff}.thread-search input{border:0;box-shadow:none;background:transparent;padding:7px 2px;font-size:12px}.thread-list{max-height:calc(100vh - 240px);overflow:auto}.thread-item{width:100%;border:0;border-bottom:1px solid #edf0f2;background:#fff;text-align:left;padding:12px 13px;cursor:pointer;position:relative}.thread-item:hover,.thread-item.active{background:#f7f9fa}.thread-item.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent)}.thread-item.unread .thread-from,.thread-item.unread .thread-subject{font-weight:950}.thread-item.sla{background:#fffafa}.thread-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.thread-row time{font-size:9px;color:#8c969e}.thread-from{font-size:11px;font-weight:800;color:#45515a;margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-subject{font-size:12px;font-weight:700;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-snippet{font-size:10px;color:#7c8790;line-height:1.35;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-meta{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:8px}.thread-meta>span:not(.badge):not(.sla-pill){font-size:9px;color:#87929a}
.thread-detail{padding:0;min-width:0;max-height:calc(100vh - 130px);overflow:auto;background:#fff}.thread-head{padding:20px 22px 14px;display:grid;grid-template-columns:1fr auto;gap:15px;border-bottom:1px solid var(--line)}.thread-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#89949c;font-weight:800}.thread-head h2{margin:5px 0 10px;font-size:20px}.due-box{text-align:right;border-left:1px solid var(--line);padding-left:16px;min-width:150px}.due-box small{display:block;color:#87929a;font-size:9px;text-transform:uppercase;font-weight:800;margin-bottom:5px}.due-box strong{font-size:11px}.thread-actions{display:flex;gap:7px;flex-wrap:wrap;padding:10px 22px;border-bottom:1px solid var(--line);background:#fafbfc}.conversation{padding:20px 22px}.message{display:grid;grid-template-columns:34px 1fr;gap:9px;margin-bottom:16px}.message-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#edf1f3;font-size:12px;font-weight:900}.message.out .message-icon{background:#ffe7e8;color:#ab151a}.message-card{border:1px solid var(--line);border-radius:13px;overflow:hidden}.message.out .message-card{border-color:#eed2d3}.message-meta{padding:10px 12px;background:#f8f9fa;display:flex;justify-content:space-between;gap:10px}.message.out .message-meta{background:#fff8f8}.message-meta strong{font-size:11px;display:block}.message-meta span,.message-meta time{font-size:9px;color:#84909a;display:block;margin-top:2px}.message-body{white-space:pre-wrap;line-height:1.55;font-size:12px;padding:14px 13px;color:#303b43}
.internal-zone,.linked-tasks-zone{margin:0 22px 20px;border:1px solid var(--line);border-radius:14px;padding:14px;background:#fbfcfc}.internal-zone{border-style:dashed;background:#fffefb}.section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.section-head>div{display:flex;flex-direction:column}.section-head strong{font-size:12px}.section-head small{font-size:9px;color:#8b969e;margin-top:2px}.comments-list{margin-bottom:10px}.comment{display:grid;grid-template-columns:30px 1fr;gap:8px;padding:9px 0;border-bottom:1px solid #eceff1}.comment:last-child{border-bottom:0}.avatar.mini{width:28px;height:28px;border-radius:8px;font-size:9px}.comment>div>div{display:flex;justify-content:space-between;gap:8px}.comment strong{font-size:10px}.comment span{font-size:9px;color:#9099a1}.comment p{margin:4px 0 0;font-size:11px;line-height:1.45}.mention-text{background:#e9f0ff;color:#2c568a;padding:1px 3px;border-radius:4px;font-weight:800}.mention-bar{display:flex;gap:4px;flex-wrap:wrap;margin:7px 0}.mention-btn{border:1px solid #dbe1e5;background:#fff;border-radius:999px;font-size:9px;padding:4px 7px;cursor:pointer}.mention-btn:hover{background:#edf3ff}.comment-actions{display:flex;justify-content:space-between;align-items:center;margin-top:7px}.linked-task{width:100%;border:0;border-top:1px solid #eceff1;background:transparent;padding:9px 2px;display:flex;justify-content:space-between;align-items:center;text-align:left;cursor:pointer}.linked-task:first-of-type{border-top:0}.linked-task:hover{background:#f6f8f9}.linked-task div{display:flex;align-items:center;gap:7px}.linked-task strong{font-size:11px}.linked-task>span{font-size:9px;color:#7f8991}

.clickable-card{cursor:pointer}.clickable-card:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(15,25,33,.06)}.task-top{justify-content:space-between}.task-progress{height:5px;margin:9px 0}.task-icons{display:flex;gap:8px;flex-wrap:wrap;font-size:9px;color:#7b8790}.task-meta>span{font-size:9px;color:#7d8991}.modal-card.wide{width:min(1180px,97vw);padding:0}.task-detail-head{padding:20px 22px 15px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:15px}.task-detail-head h2{margin:5px 0 9px}.task-detail-grid{display:grid;grid-template-columns:minmax(0,1.65fr) 330px;max-height:calc(90vh - 90px);overflow:auto}.detail-main{padding:16px 18px;border-right:1px solid var(--line)}.detail-side{padding:16px;background:#f7f9fa}.detail-section{border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:13px}.compact-grid label{margin:6px 0}.compact-grid input,.compact-grid textarea,.compact-grid select{padding:8px 9px;font-size:11px}.check-row{display:grid;grid-template-columns:22px 1fr 22px;align-items:center;gap:5px;margin:0;padding:7px 3px;border-bottom:1px solid #edf0f2;font-weight:500}.check-row input{width:auto}.check-row button,.attachment-row button,.person-chip button,.dependency button{border:0;background:transparent;color:#9b5558;cursor:pointer}.done-text{text-decoration:line-through;color:#8f999f}.inline-add{display:flex;gap:7px;align-items:center;margin-top:9px}.inline-add input,.inline-add select{margin:0}.vertical{flex-direction:column;align-items:stretch}.subtask-row{width:100%;border:0;border-top:1px solid #edf0f2;background:transparent;padding:8px 2px;display:flex;justify-content:space-between;align-items:center;text-align:left;cursor:pointer}.subtask-row:hover{background:#f7f9fa}.subtask-row>span:first-child{display:flex;gap:7px;align-items:center}.subtask-row strong{font-size:11px}.subtask-row>span:last-child{font-size:9px;color:#7f8a92}.attachment-row{display:grid;grid-template-columns:1fr auto 22px;gap:8px;align-items:center;padding:7px 2px;border-bottom:1px solid #edf0f2}.attachment-row a{font-size:11px;color:#263844;text-decoration:none;font-weight:700}.attachment-row span{font-size:9px;color:#8b969e}.side-box{background:#fff;border:1px solid var(--line);border-radius:13px;padding:12px;margin-bottom:11px}.side-box>strong{display:block;font-size:11px;margin-bottom:4px}.side-box>small{display:block;font-size:9px;color:#8d979f;margin-bottom:8px}.big-number{font-size:26px;font-weight:950;margin:6px 0}.time-row{padding:7px 0;border-top:1px solid #edf0f2}.time-row span,.time-row small{display:block;font-size:9px}.time-row small{color:#9099a1;margin-top:2px}.person-chip,.dependency{display:flex;justify-content:space-between;align-items:center;gap:7px;border-top:1px solid #edf0f2;padding:6px 0;font-size:10px}.mail-link{background:#fffafa;border-color:#efd7d8}.history-mini{max-height:210px;overflow:auto}.history-mini>div{padding:7px 0;border-top:1px solid #edf0f2}.history-mini b{display:block;font-size:9px}.history-mini span{display:block;font-size:8px;color:#8c969e;margin-top:2px}.history-mini p{font-size:9px;color:#66747d;margin:3px 0}.email-deadline{border-left-color:#2f5e95;background:#f0f5fc}

@media(max-width:1450px){.stats-six{grid-template-columns:repeat(3,1fr)}.email-center{grid-template-columns:185px 350px minmax(0,1fr)}}
@media(max-width:1180px){.email-center{grid-template-columns:170px 330px minmax(430px,1fr);overflow:auto}.task-detail-grid{grid-template-columns:1fr}.detail-main{border-right:0}.detail-side{border-top:1px solid var(--line)}}
@media(max-width:900px){.email-center{display:block}.mailbox-sidebar{display:flex;overflow:auto;gap:5px;border-right:0;border-bottom:1px solid var(--line)}.mailbox-title,.mailbox-sep,.mailbox-item small{display:none}.mailbox-item{min-width:max-content;width:auto}.thread-column{border-right:0}.thread-list{max-height:320px}.thread-detail{max-height:none}.thread-toolbar{grid-template-columns:1fr 1fr}.thread-toolbar select:nth-child(3){grid-column:1/-1}.stats-six{grid-template-columns:repeat(2,1fr)}}

/* --------------------------------------------------------------------------
   CASS CRM v0.3 — projekty, ekipy, mapa, Centrum Pracy i Dashboard Zarządu
   -------------------------------------------------------------------------- */
.work-hero{padding:24px 26px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(125deg,#fff 0,#fff 65%,#f1f3f5 100%);overflow:hidden}.work-hero h1,.management-head h1{margin:4px 0 7px;font-size:28px}.work-hero p,.management-head p{margin:0;max-width:780px;color:var(--muted);line-height:1.5}.next-event{min-width:300px;border:1px solid var(--line);border-radius:15px;background:#fff;padding:15px 17px;text-align:left;cursor:pointer;box-shadow:0 4px 12px rgba(20,30,38,.05)}.next-event span,.next-event small{display:block;color:var(--muted);font-size:11px}.next-event strong{display:block;margin:4px 0;font-size:14px}.work-stats{grid-template-columns:repeat(5,minmax(0,1fr));margin:16px 0}.work-stat{border:1px solid var(--line);text-align:left;cursor:pointer}.work-tabs{display:flex;gap:5px;padding:7px;margin-bottom:14px;overflow:auto}.work-tab{border:0;background:transparent;border-radius:10px;padding:10px 14px;font-weight:750;color:var(--muted);cursor:pointer;white-space:nowrap}.work-tab.active,.work-tab:hover{background:var(--steel);color:#fff}.work-list{padding:5px 18px}.work-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:15px;border:0;border-bottom:1px solid #eef1f3;background:#fff;padding:13px 4px;text-align:left;cursor:pointer}.work-row:last-child{border-bottom:0}.work-row:hover{background:#fafbfc}.work-row>div:first-child{min-width:0}.work-row strong,.work-row small{display:block}.work-row small{font-size:11px;color:var(--muted);margin-top:3px}.work-row>div:last-child{text-align:right}.calendar-focus{display:flex;align-items:center;gap:16px;padding:10px}.calendar-focus-icon{font-size:30px}.calendar-focus p{margin:3px 0;color:var(--muted)}.work-projects{padding-top:0}.project-click{width:100%;text-align:left;border:1px solid var(--line);cursor:pointer}.project-click:hover{transform:translateY(-2px);box-shadow:var(--shadow);transition:.16s}.project-alert{box-shadow:inset 4px 0 0 var(--accent)}

.management-head,.section-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:17px}.section-toolbar h3{margin:3px 0;font-size:21px}.section-toolbar p{margin:4px 0 0;max-width:820px;line-height:1.45}.management-stats{grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:16px}.money-value{font-size:19px!important;line-height:1.25;min-height:48px;display:flex;align-items:center}.management-grid{grid-template-columns:1fr 1fr;margin-bottom:16px}.management-grid.wide-left{grid-template-columns:1.55fr .75fr}.metric-bar{margin:13px 0}.metric-label{display:flex;justify-content:space-between;font-size:12px;margin-bottom:5px}.bar-track{height:9px;border-radius:999px;background:#edf0f2;overflow:hidden}.bar-track span{display:block;height:100%;background:var(--steel);border-radius:999px}.finance-chart{display:flex;flex-direction:column;gap:10px}.finance-row{display:grid;grid-template-columns:180px 1fr;gap:14px;align-items:center;border:0;background:transparent;text-align:left;cursor:pointer;padding:6px;border-radius:9px}.finance-row:hover{background:#f7f8f9}.finance-name strong,.finance-name small{display:block}.finance-name small{font-size:10px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.finance-bars{display:flex;flex-direction:column;gap:3px}.finance-bar{height:18px;border-radius:5px;min-width:8px;display:flex;align-items:center;padding-left:7px;font-size:9px;font-weight:800;white-space:nowrap;overflow:visible}.finance-bar.contract{background:#dfe4e8}.finance-bar.budget{background:#c9d1d7}.finance-bar.costs{background:#ffe3e3;color:#9b171c}.workload-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eef1f3;padding:10px 0}.workload-row:last-child{border-bottom:0}.workload-row small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.workload-row>div:last-child{text-align:right}.risk-panel{margin-bottom:10px}.risk-list{padding-top:6px}.risk-row{width:100%;display:flex;align-items:center;justify-content:space-between;border:0;border-bottom:1px solid #eef1f3;background:#fff;padding:13px 3px;text-align:left;cursor:pointer}.risk-row:hover{background:#fafbfc}.risk-row>div:last-child{display:flex;align-items:center;gap:10px}.risk-row small{display:block;color:var(--muted);margin-top:3px;font-size:10px}

.project-grid-v3{grid-template-columns:repeat(3,minmax(290px,1fr))}.project-manager{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #eef1f3;margin-top:13px;padding-top:10px;font-size:11px}.project-manager span{color:var(--muted)}.project-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:12px}.project-kpis span{background:#f5f7f8;border-radius:8px;padding:7px 5px;text-align:center;font-size:10px;font-weight:800}.project-finance{display:flex;justify-content:space-between;gap:7px;border-top:1px solid #eef1f3;margin-top:10px;padding-top:10px;font-size:10px}.project-finance span{color:var(--muted)}
.project-workspace{min-width:0;padding:22px}.project-workspace-head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding-bottom:18px;border-bottom:1px solid var(--line)}.project-workspace-head h2{margin:8px 0 5px;font-size:25px}.project-workspace-head p{margin:0;color:var(--muted);max-width:760px;line-height:1.5}.project-progress-ring{width:90px;height:90px;border:8px solid #edf0f2;border-top-color:var(--accent);border-radius:50%;display:grid;place-items:center;align-content:center;flex:0 0 auto}.project-progress-ring strong{font-size:20px}.project-progress-ring span{font-size:9px;color:var(--muted)}.project-summary-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:16px 0}.project-summary-grid>div{background:#f7f8f9;border:1px solid #edf0f2;border-radius:12px;padding:11px}.project-summary-grid span,.project-summary-grid strong{display:block}.project-summary-grid span{font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:4px}.project-summary-grid strong{font-size:13px}.project-edit{border:1px solid var(--line);border-radius:13px;padding:0 14px;margin-bottom:16px;background:#fafbfc}.project-edit summary{cursor:pointer;font-weight:800;font-size:12px;padding:12px 0}.project-edit .form-grid{padding-bottom:3px}.project-work-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.project-section{border:1px solid var(--line);border-radius:15px;padding:14px;min-width:0}.project-section.documents-section,.project-section.finance-section{grid-column:span 1}.section-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px}.section-title h3{margin:0;font-size:14px}.section-title>span{font-size:10px;font-weight:800;background:#eef1f3;border-radius:999px;padding:4px 8px}.project-list{max-height:310px;overflow:auto}.project-list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 3px;border-bottom:1px solid #eef1f3;font-size:11px}.project-list-row:last-child{border-bottom:0}.project-list-row strong,.project-list-row small{display:block}.project-list-row small{font-size:9px;color:var(--muted);margin-top:3px}.project-list-row.clickable{width:100%;border-left:0;border-right:0;border-top:0;background:#fff;text-align:left;cursor:pointer}.project-list-row.clickable:hover{background:#fafbfc}.project-list-row a{color:var(--ink);text-decoration:none}.project-list-row a:hover{text-decoration:underline}.project-list-row>div:last-child{text-align:right}.icon-btn{width:26px;height:26px;border:1px solid var(--line);border-radius:7px;background:#fff;cursor:pointer}.issue-row.closed{opacity:.55}.mini-actions{display:flex;justify-content:flex-end;gap:3px;margin-top:4px}.mini-actions button{width:22px;height:22px;border:1px solid var(--line);background:#fff;border-radius:5px;cursor:pointer}.document-upload,.cost-add{display:grid;grid-template-columns:1.3fr .7fr .9fr auto;gap:6px;margin-top:10px}.cost-add{grid-template-columns:.7fr 1.2fr .6fr .7fr auto}.document-upload input,.document-upload select,.cost-add input,.cost-add select{font-size:10px;padding:8px}.budget-meter{margin-bottom:8px}.budget-meter>div:first-child{display:flex;justify-content:space-between;font-size:10px}.danger-progress span{background:var(--accent)!important}.project-bottom-stats{display:flex;gap:18px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:16px;padding-top:13px;color:var(--muted);font-size:11px}.project-bottom-stats strong{color:var(--ink)}.compact{padding:8px 11px;font-size:11px}

.schedule-palette{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:11px 14px;margin-bottom:12px}.schedule-palette>strong{font-size:11px;margin-right:5px}.schedule-preset{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:800;cursor:grab}.schedule-preset:active{cursor:grabbing}.schedule-preset.delayed,.assignment-chip.delayed{border-color:#e8b6b8;background:#fff0f0}.schedule-preset.planning{background:#fff7e3}.schedule-preset.active{background:#edf7f2}.schedule-preset.leave,.assignment-chip.leave{background:#f2ecff}.schedule-preset.office,.assignment-chip.office{background:#eef3f7}.schedule-preset.training,.assignment-chip.training{background:#fff5db}.schedule-preset.travel,.assignment-chip.travel{background:#e9f5ff}.schedule-wrap{overflow:auto}.schedule-grid{display:grid;grid-template-columns:210px repeat(7,minmax(125px,1fr));min-width:1120px}.schedule-corner,.schedule-day{position:sticky;top:0;z-index:3;background:#f5f7f8;border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:11px;font-size:10px;font-weight:900;text-transform:uppercase}.schedule-corner{left:0;z-index:4}.schedule-day{text-align:center}.schedule-person{position:sticky;left:0;z-index:2;background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:9px;display:flex;align-items:center;gap:8px}.schedule-person strong,.schedule-person small{display:block}.schedule-person strong{font-size:11px}.schedule-person small{font-size:9px;color:var(--muted)}.schedule-cell{min-height:76px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:6px;background:#fff;display:flex;align-items:stretch}.schedule-cell:hover{background:#f9fafb}.drop-hint{margin:auto;color:#c2c9ce;font-size:18px}.assignment-chip{width:100%;border:1px solid #dde3e7;border-radius:9px;background:#f7f8f9;padding:7px;cursor:grab;position:relative;min-width:0}.assignment-chip span,.assignment-chip small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assignment-chip span{font-size:10px;font-weight:900;padding-right:20px}.assignment-chip small{font-size:8px;color:var(--muted);margin-top:4px}.assignment-chip button{position:absolute;right:4px;top:3px;width:18px;height:18px;border:0;background:transparent;color:#89939a;cursor:pointer}

.map-layout{grid-template-columns:1.7fr .75fr}.map-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:10px;color:var(--muted)}.map-legend span{display:flex;align-items:center;gap:5px}.map-legend i{width:9px;height:9px;border-radius:50%;display:inline-block;background:#777}.map-legend i.active,.map-pin.active>span{background:#178a5b}.map-legend i.planning,.map-pin.planning>span{background:#c98716}.map-legend i.delayed,.map-pin.delayed>span{background:#d71920}.map-legend i.completed,.map-pin.completed>span{background:#5f6870}.europe-map{min-height:620px;position:relative;overflow:hidden;background:linear-gradient(160deg,#f8fafb,#e9eef1)}.map-gridlines{position:absolute;inset:0;background-image:linear-gradient(rgba(31,41,51,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(31,41,51,.04) 1px,transparent 1px);background-size:55px 55px}.europe-shape{position:absolute;left:10%;top:9%;width:75%;height:78%;background:#fff;border:1px solid #dde4e8;clip-path:polygon(4% 22%,16% 10%,30% 14%,42% 4%,55% 12%,70% 8%,85% 17%,95% 31%,88% 43%,94% 58%,81% 68%,72% 86%,57% 78%,49% 95%,36% 84%,23% 89%,19% 70%,7% 61%,13% 45%,2% 37%);box-shadow:0 15px 45px rgba(20,30,38,.08)}.map-pin{position:absolute;z-index:5;transform:translate(-50%,-50%);border:0;background:transparent;text-align:left;cursor:pointer;padding:0}.map-pin>span{display:block;width:18px;height:18px;border:4px solid #fff;border-radius:50%;box-shadow:0 3px 9px rgba(0,0,0,.25)}.map-pin>b,.map-pin>small{position:absolute;left:22px;top:-4px;white-space:nowrap;background:rgba(255,255,255,.95);padding:3px 6px;border-radius:5px;box-shadow:0 2px 8px rgba(0,0,0,.08)}.map-pin>b{font-size:10px}.map-pin>small{top:15px;font-size:8px;color:var(--muted);opacity:0;pointer-events:none}.map-pin:hover>small{opacity:1}.map-country-label{position:absolute;font-size:34px;font-weight:950;color:rgba(31,41,51,.06);z-index:1}.l-uk{left:16%;top:34%}.l-de{left:51%;top:43%}.l-pl{left:66%;top:38%}.l-nl{left:45%;top:35%}.l-cz{left:60%;top:52%}.map-project-list{padding:8px}.map-project-list>button{width:100%;display:flex;justify-content:space-between;gap:10px;border:0;border-bottom:1px solid #eef1f3;background:#fff;padding:11px 3px;text-align:left;cursor:pointer}.map-project-list>button:hover{background:#fafbfc}.map-project-list strong,.map-project-list small{display:block}.map-project-list small{font-size:9px;color:var(--muted);margin-top:3px}.map-project-list>button>div:last-child{text-align:right}
.cal-event.meeting{background:#e9eef2;color:#24323d;border-left:3px solid var(--steel)}.cal-event.meeting small{display:block;font-size:8px;margin-top:2px}

.badge.planning{background:#fff3d9;color:#8c681d}.badge.active{background:#eaf6ef;color:#267252}.badge.delayed,.badge.critical{background:#ffe9e9;color:#b8191f}.badge.completed{background:#edf0f2;color:#59646d}.badge.pending{background:#fff3d9;color:#8c681d}.badge.approved{background:#eaf6ef;color:#267252}.badge.rejected{background:#ffe9e9;color:#b8191f}

@media(max-width:1280px){.management-stats{grid-template-columns:repeat(3,1fr)}.work-stats{grid-template-columns:repeat(3,1fr)}.project-summary-grid{grid-template-columns:repeat(3,1fr)}.project-grid-v3{grid-template-columns:repeat(2,1fr)}.map-layout{grid-template-columns:1fr}.europe-map{min-height:520px}}
@media(max-width:900px){.work-hero{flex-direction:column;align-items:stretch}.next-event{min-width:0}.management-grid,.management-grid.wide-left,.project-work-grid{grid-template-columns:1fr}.project-grid-v3{grid-template-columns:1fr}.management-stats,.work-stats{grid-template-columns:repeat(2,1fr)}.project-summary-grid{grid-template-columns:repeat(2,1fr)}.document-upload,.cost-add{grid-template-columns:1fr}.finance-row{grid-template-columns:120px 1fr}.map-legend{justify-content:flex-start}}

/* ========================================================================== */
/* CASS CRM v0.4 — BRAND UI                                                   */
/* Spójne z identyfikacją CASS: biel, czerń/grafit, stalowe szarości, czerwień */
/* ========================================================================== */
:root{
  --bg:#f7f7f6;
  --panel:#ffffff;
  --ink:#111214;
  --muted:#72757a;
  --line:#e5e5e4;
  --line-strong:#d4d4d2;
  --steel:#282b2f;
  --steel2:#101113;
  --accent:#d3131b;
  --accent2:#ad0f16;
  --ok:#2e8b48;
  --warn:#efa817;
  --shadow:0 8px 28px rgba(18,18,18,.055);
  --radius:10px;
}
html{background:#fff}
body{background:var(--bg);color:var(--ink);font-family:"Segoe UI",Arial,Helvetica,sans-serif;letter-spacing:-.01em}
button,input,textarea,select{font-family:inherit}

/* LOGIN */
.login-shell{background:#f7f7f6;position:relative;isolation:isolate}
.login-shell:before{content:"";position:absolute;inset:0;background:
  linear-gradient(135deg,transparent 0 63%,rgba(0,0,0,.025) 63% 63.25%,transparent 63.25% 67%,rgba(0,0,0,.018) 67% 67.2%,transparent 67.2%),
  linear-gradient(45deg,transparent 0 79%,rgba(211,19,27,.055) 79% 79.3%,transparent 79.3%);z-index:-1}
.login-shell:after{content:"";position:absolute;width:48vw;height:48vw;right:-20vw;bottom:-28vw;border:1px solid rgba(17,18,20,.05);transform:rotate(45deg);z-index:-1}
.cass-login-card{border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.10);padding:34px 40px 38px;width:min(460px,92vw)}
.login-logo{height:78px;background:url('/static/cass_logo.png') center center/100% auto no-repeat;max-width:340px;margin:0 auto}
.login-divider{height:1px;background:var(--line);margin:12px 0 25px}
.login-kicker{font-size:10px;font-weight:800;letter-spacing:.18em;color:var(--accent)}
.login-card h1{font-size:30px;letter-spacing:-.035em;margin:8px 0 6px}
.login-card p{font-size:14px;color:var(--muted);margin-bottom:25px}
.login-card label{font-size:12px;text-transform:uppercase;letter-spacing:.055em;color:#4e5053}
.login-card input{border-radius:6px;height:44px;border-color:var(--line-strong)}
.login-card .btn{border-radius:6px;height:46px;text-transform:uppercase;letter-spacing:.035em;font-size:12px}
.login-card small{font-size:11px}

/* GŁÓWNY UKŁAD */
.app{grid-template-columns:282px minmax(0,1fr);background:var(--bg)}
.sidebar{background:#fff;color:#191a1c;border-right:1px solid var(--line);padding:0;box-shadow:none;overflow:hidden;z-index:20}
.sidebar-logo{height:112px;border-bottom:1px solid var(--line);background:#fff url('/static/cass_logo.png') center center/250px auto no-repeat;flex:0 0 auto}
.sidebar nav{margin:18px 0 0;padding:0 14px;gap:4px;position:relative;z-index:2}
.nav{color:#292b2e;background:transparent;padding:12px 13px;border-radius:7px;font-weight:650;font-size:13px;grid-template-columns:31px 1fr auto;position:relative;transition:background .16s ease,color .16s ease}
.nav i{width:24px;height:24px;display:grid;place-items:center;font-size:18px;font-style:normal;color:#33373b;font-family:Arial,sans-serif}
.nav:hover{background:#f5f5f4;color:#111}
.nav.active{background:#f6f6f5;color:#0d0e0f;box-shadow:none}
.nav.active:before{content:"";position:absolute;left:-14px;top:0;bottom:0;width:5px;background:var(--accent)}
.nav.active i{color:var(--accent)}
.nav b{background:var(--accent);font-size:10px;min-width:20px;height:20px;display:grid;place-items:center;padding:0 5px;border-radius:50px}
.sidebar-industrial{position:absolute;left:0;right:0;bottom:88px;height:230px;opacity:.06;pointer-events:none;background:
 linear-gradient(153deg,transparent 0 36%,#191a1c 36.2% 36.7%,transparent 36.9% 48%,#191a1c 48.2% 48.8%,transparent 49%),
 linear-gradient(27deg,transparent 0 44%,#191a1c 44.2% 44.8%,transparent 45% 61%,#191a1c 61.2% 61.8%,transparent 62%),
 repeating-linear-gradient(90deg,transparent 0 46px,#191a1c 47px 48px,transparent 49px 92px);
 transform:skewY(-4deg)}
.side-footer{margin-top:auto;border-top:1px solid var(--line);background:rgba(255,255,255,.96);padding:14px 18px 15px;position:relative;z-index:3;color:#303236}
.side-footer #sideUser{font-size:11px;color:#6d7075;margin:7px 0 9px;line-height:1.35}
.side-company{font-weight:800;font-size:12px;padding-top:3px;position:relative}
.side-company:before{content:"";display:block;width:22px;height:2px;background:var(--accent);margin-bottom:10px}
.side-company small{display:block;font-weight:500;font-size:10px;color:#777b80;margin-top:3px}
.ghost{color:#34363a;border:1px solid var(--line-strong);background:#fff;border-radius:6px;padding:7px 10px;font-size:11px}
.ghost:hover{background:#f4f4f3}

/* TOP BAR */
.main{background:var(--bg)}
.topbar{height:78px;padding:0 30px;background:#fff;border-bottom:1px solid var(--line);box-shadow:none;display:grid;grid-template-columns:minmax(320px,520px) 1fr;align-items:center;position:sticky;top:0;z-index:15}
.top-search{width:100%;height:42px;border-radius:7px;background:#fff;border:1px solid var(--line-strong);box-shadow:0 2px 8px rgba(0,0,0,.025);padding:0 12px}
.top-search span{font-size:23px;color:#54575b;transform:rotate(-12deg);line-height:1}
.top-search input{font-size:12px;color:#292b2f;padding:9px 5px}
.top-actions{justify-content:flex-end;gap:10px}
.top-compose{height:38px;border:1px solid #1c1d1f;background:#1c1d1f;color:#fff;border-radius:6px;padding:0 14px;font-size:11px;font-weight:700;cursor:pointer;transition:.15s}
.top-compose:hover{background:var(--accent);border-color:var(--accent)}
.top-icon{position:relative;width:40px;height:40px;border:0;background:transparent;border-radius:50%;font-size:20px;color:#17191b;cursor:pointer}
.top-icon:hover{background:#f3f3f2}
.top-icon b{position:absolute;top:1px;right:0;min-width:17px;height:17px;padding:0 4px;background:var(--accent);color:#fff;border-radius:20px;font-size:9px;display:grid;place-items:center;border:2px solid white}
.top-divider{width:1px;height:30px;background:var(--line);margin:0 6px}
.profile-chip{border:0;background:transparent;display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:8px;cursor:default;color:#1a1b1d;text-align:left}
.profile-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e8e8e6;border:1px solid #dededb;color:#222;font-weight:800;font-size:12px}
.profile-copy{display:flex;flex-direction:column;min-width:115px}.profile-copy strong{font-size:12px}.profile-copy small{font-size:10px;color:#85878b;margin-top:2px;text-transform:capitalize}.profile-chevron{font-size:17px;color:#666}
.mobile-page-title{display:none}

/* TREŚĆ */
.content{padding:26px 30px 38px;max-width:1700px;margin:0 auto}
.content h1,.content h2,.content h3{letter-spacing:-.03em}
.eyebrow{color:#8a8d91;font-size:9px;letter-spacing:.16em}
.panel{border:1px solid var(--line);border-radius:8px;box-shadow:none;background:#fff}
.panel-head{padding:14px 16px;border-bottom:1px solid var(--line)}
.panel-head h3{font-size:13px;font-weight:750}
.panel-body{padding:15px}
.btn{border-radius:6px;font-size:12px}.primary{background:var(--accent)}.primary:hover{background:var(--accent2)}
.small-btn{border-radius:5px;font-size:10px;padding:7px 9px;background:#fff;color:#333}.small-btn:hover{border-color:#bbb;background:#fafafa}
input,textarea,select{border-radius:6px;border-color:var(--line-strong)}
.badge{border-radius:5px;padding:3px 7px;font-size:9px;font-weight:700;border:1px solid transparent}
.badge.new,.badge.high,.badge.urgent{background:#fff0f0;color:#b60e15;border-color:#ffd8da}
.badge.in_progress,.badge.doing{background:#eff5ff;color:#31649b;border-color:#d8e8fb}
.badge.waiting{background:#fff7e5;color:#987019;border-color:#fae5af}
.badge.done{background:#edf8f0;color:#34724a;border-color:#d5efdc}
.progress{height:6px;background:#ededeb}.progress span{background:var(--accent)}

/* CASS CENTRUM PRACY — WIDOK Z PROJEKTU */
.cass-dashboard-head{display:flex;align-items:flex-end;justify-content:space-between;margin:1px 0 16px}
.cass-dashboard-head h1{font-size:26px;margin:0 0 2px;color:#121315}
.cass-dashboard-head p{margin:0;color:#696c71;font-size:13px}
.cass-dashboard-date{font-size:12px;color:#52555a;display:flex;align-items:center;gap:8px;padding-bottom:5px}
.cass-kpi-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:16px}
.cass-kpi{position:relative;min-height:92px;padding:15px 15px 13px;display:grid;grid-template-columns:39px 1fr;grid-template-rows:auto auto;align-items:center;overflow:hidden}
.cass-kpi:after{content:"";position:absolute;left:0;bottom:0;width:33%;height:3px;background:var(--accent)}
.cass-kpi.neutral-line:after{background:#1b1c1e}
.cass-kpi-icon{grid-row:1/3;width:32px;height:32px;border:1px solid #d9d9d6;border-radius:50%;display:grid;place-items:center;font-size:16px;color:#202226}
.cass-kpi-value{font-size:24px;font-weight:850;line-height:1.05;color:#111}.cass-kpi-value.danger-number{color:var(--accent)}
.cass-kpi-label{font-size:10px;color:#5c5f64;line-height:1.25;margin-top:3px}
.cass-kpi.money .cass-kpi-value{font-size:18px;white-space:nowrap}
.cass-dashboard-grid-top{display:grid;grid-template-columns:1.18fr .98fr 1.36fr;gap:12px;margin-bottom:12px}
.cass-dashboard-grid-bottom{display:grid;grid-template-columns:1.08fr 1fr 1.05fr;gap:12px}
.cass-dash-card{min-height:275px;overflow:hidden}
.cass-dash-card .panel-head{height:48px}
.cass-dash-link{border:0;background:transparent;color:var(--accent);font-size:9px;font-weight:800;cursor:pointer}
.cass-task-table{width:100%;border-collapse:collapse}.cass-task-table th{font-size:8px;color:#74777c;text-align:left;text-transform:uppercase;padding:9px 12px;border-bottom:1px solid var(--line);letter-spacing:.04em}.cass-task-table td{font-size:10px;padding:10px 12px;border-bottom:1px solid #eeeeec;vertical-align:middle}.cass-task-table tr:last-child td{border-bottom:0}.cass-task-table tr{cursor:pointer}.cass-task-table tbody tr:hover{background:#fafafa}.cass-task-title{font-weight:700;color:#242629;line-height:1.25}.cass-task-project{color:#60636a}.cass-status-dot{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.cass-status-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:#aaa}.cass-status-dot.doing:before{background:#efa817}.cass-status-dot.todo:before{background:#3f7ab5}.cass-status-dot.waiting:before{background:#c49127}.cass-status-dot.done:before{background:#3b8f54}
.cass-mail-list{padding:5px 0}.cass-mail-row{width:100%;height:43px;border:0;border-bottom:1px solid #efefed;background:#fff;display:grid;grid-template-columns:34px 1fr auto auto;align-items:center;gap:9px;padding:0 13px;text-align:left;cursor:pointer}.cass-mail-row:last-child{border-bottom:0}.cass-mail-row:hover{background:#fafafa}.cass-mail-initial{width:28px;height:28px;border-radius:50%;background:#f0f0ef;display:grid;place-items:center;font-size:11px;font-weight:700}.cass-mail-copy strong{display:block;font-size:10px}.cass-mail-copy small{display:block;font-size:9px;color:#8a8c90;margin-top:1px}.cass-mail-count{min-width:18px;height:18px;padding:0 5px;border-radius:12px;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:9px;font-weight:800}.cass-mail-time{font-size:8px;color:#8d8f93;min-width:39px;text-align:right}
.cass-project-spotlight{padding:12px;display:grid;grid-template-columns:minmax(160px,.82fr) 1.18fr;gap:15px;height:226px}.cass-project-visual{border-radius:5px;min-height:190px;position:relative;overflow:hidden;background:linear-gradient(180deg,#f3f4f4,#e8e9e9)}
.cass-project-visual:before{content:"";position:absolute;inset:15px 8px 8px;background:
 linear-gradient(32deg,transparent 0 37%,#50555a 37.5% 39%,transparent 39.5% 61%,#50555a 61.5% 63%,transparent 63.5%),
 linear-gradient(148deg,transparent 0 34%,#30343a 34.5% 36.5%,transparent 37% 63%,#30343a 63.5% 65.5%,transparent 66%),
 repeating-linear-gradient(90deg,transparent 0 37px,#656a70 38px 40px,transparent 41px 75px),
 repeating-linear-gradient(0deg,transparent 0 35px,#7c8186 36px 38px,transparent 39px 70px);opacity:.75;clip-path:polygon(4% 95%,12% 30%,50% 5%,93% 40%,97% 95%)}
.cass-project-visual:after{content:"CASS • STEEL STRUCTURE";position:absolute;left:9px;bottom:8px;background:rgba(255,255,255,.90);padding:4px 6px;font-size:7px;font-weight:800;letter-spacing:.09em}
.cass-project-meta{display:flex;flex-direction:column;justify-content:space-between}.cass-meta-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #f0f0ee;padding:3px 0;font-size:9px}.cass-meta-row span{color:#777a7f}.cass-meta-row strong{font-weight:650;text-align:right}.cass-progress-line{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;font-size:9px;margin-top:7px}.cass-progress-line .progress{margin:0}.cass-project-state{display:flex;justify-content:space-between;align-items:center;margin-top:5px;font-size:9px}.cass-project-state .state-pill{background:#e9f6ec;color:#347247;border-radius:12px;padding:3px 8px}
.cass-schedule-mini{overflow:auto}.cass-schedule-grid{display:grid;grid-template-columns:105px repeat(5,minmax(70px,1fr));font-size:8px;min-width:455px}.cass-schedule-grid>div{min-height:38px;border-right:1px solid #efefed;border-bottom:1px solid #efefed;padding:6px 7px}.cass-schedule-grid .hdr{font-weight:700;color:#5c5f64;text-align:center;background:#fbfbfa}.cass-schedule-grid .crew{font-weight:700}.cass-schedule-grid .crew small{display:block;color:#909296;font-weight:500;margin-top:2px}.cass-schedule-slot{font-size:7px;line-height:1.25;display:flex;gap:4px;align-items:center}.cass-schedule-slot i{width:5px;height:5px;border-radius:50%;background:#3a8e51;flex:0 0 auto}.cass-schedule-slot.leave i{background:#b7b7b4}.cass-schedule-slot.delayed i{background:var(--accent)}.cass-schedule-slot.planning i{background:var(--warn)}
.cass-mini-map{height:224px;position:relative;overflow:hidden;background:#f7f8f8}.cass-mini-map:before{content:"";position:absolute;inset:12px;background:
 linear-gradient(90deg,transparent 49.8%,rgba(83,96,107,.08) 50%,transparent 50.2%),
 linear-gradient(0deg,transparent 49.8%,rgba(83,96,107,.08) 50%,transparent 50.2%),
 repeating-linear-gradient(28deg,transparent 0 47px,rgba(101,118,130,.08) 48px 49px,transparent 50px 96px),
 #edf2f4;border-radius:4px}
.cass-mini-map:after{content:"NIEMCY          POLSKA\A                 CZECHY";white-space:pre;position:absolute;left:25%;top:43%;font-size:8px;line-height:55px;color:#69747b;letter-spacing:.06em}
.cass-map-pin{position:absolute;z-index:2;width:10px;height:10px;border:3px solid currentColor;background:white;border-radius:50%;transform:translate(-50%,-50%);cursor:pointer;color:#3a8e51}.cass-map-pin.delayed{color:var(--accent)}.cass-map-pin.planning{color:var(--warn)}.cass-map-pin.completed{color:#a8aaad}.cass-map-pin:hover{transform:translate(-50%,-50%) scale(1.4)}
.cass-map-legend{position:absolute;left:15px;right:15px;bottom:9px;z-index:3;display:flex;gap:12px;font-size:7px;color:#666;background:rgba(255,255,255,.82);padding:5px 7px;border-radius:4px}.cass-map-legend span{display:flex;align-items:center;gap:4px}.cass-map-legend i{width:7px;height:7px;border-radius:50%;background:#3a8e51}.cass-map-legend .planning{background:var(--warn)}.cass-map-legend .delayed{background:var(--accent)}.cass-map-legend .completed{background:#aaa}
.cass-status-body{height:224px;padding:15px;display:grid;grid-template-columns:145px 1fr;gap:15px;align-items:center}.cass-donut{width:130px;height:130px;border-radius:50%;position:relative;margin:auto}.cass-donut:after{content:"";position:absolute;inset:30px;border-radius:50%;background:white}.cass-donut-center{position:absolute;z-index:2;inset:0;display:grid;place-content:center;text-align:center;font-size:8px;color:#666}.cass-donut-center strong{font-size:19px;color:#17191b}.cass-status-legend{font-size:9px}.cass-status-legend>div{display:grid;grid-template-columns:8px 18px 1fr auto;gap:7px;align-items:center;padding:6px 0;border-bottom:1px solid #f0f0ee}.cass-status-legend i{width:7px;height:7px;border-radius:50%}.cass-status-legend .active{background:#3a8e51}.cass-status-legend .planning{background:var(--warn)}.cass-status-legend .delayed{background:var(--accent)}.cass-status-legend .completed{background:#a9abaf}.cass-status-total{margin-top:10px;font-size:9px;color:#666}.cass-status-total strong{display:block;color:#151719;font-size:17px;margin-top:3px}

/* POZOSTAŁE MODUŁY — zachowują funkcje, ale dostają nową skórkę */
.section-toolbar,.management-head,.project-workspace-head{background:#fff;border:1px solid var(--line);border-radius:8px;padding:15px 17px;margin-bottom:12px}
.section-toolbar h3,.management-head h1{margin:3px 0;font-size:20px}
.stats,.management-stats,.work-stats{gap:10px}.stat{border-radius:8px;border:1px solid var(--line);box-shadow:none;padding:15px}.stat:after{display:none}.stat .value{font-size:27px}.alert-stat{border-color:#f0c3c5!important}.alert-stat .value{color:var(--accent)}
.email-center{border-radius:8px}.mailbox-sidebar{background:#f8f8f7;border-color:var(--line)}.mailbox-item{border-radius:5px}.mailbox-item.active{background:#fff;color:#111;box-shadow:inset 3px 0 0 var(--accent)}
.task-card,.team-card,.project{border-radius:8px;box-shadow:none}.kan-col{border-radius:8px;background:#eeeeec}.calendar .cal-cell{background:#fff}.cal-event{border-radius:4px}.modal{background:rgba(18,18,18,.46);backdrop-filter:blur(3px)}.modal-card{border-radius:10px;border:1px solid #ddd;box-shadow:0 28px 75px rgba(0,0,0,.22)}
.toast{border-radius:6px;background:#17191b}

/* RESPONSYWNOŚĆ */
@media(max-width:1350px){
  .app{grid-template-columns:235px 1fr}.sidebar-logo{background-size:210px auto}.cass-kpi-grid{grid-template-columns:repeat(3,1fr)}
  .cass-dashboard-grid-top{grid-template-columns:1fr 1fr}.cass-dashboard-grid-top .cass-project-card{grid-column:1/-1}.cass-project-spotlight{grid-template-columns:220px 1fr}
  .cass-dashboard-grid-bottom{grid-template-columns:1fr 1fr}.cass-dashboard-grid-bottom .cass-status-card{grid-column:1/-1}
}
@media(max-width:980px){
  .app{grid-template-columns:76px 1fr}.sidebar-logo{height:78px;background-size:130px auto;background-position:center}.sidebar nav{padding:0 8px}.nav{grid-template-columns:1fr;justify-items:center;padding:11px 6px}.nav span,.nav b,.side-company,.side-footer #sideUser{display:none}.nav.active:before{left:-8px}.side-footer{padding:10px}.ghost{font-size:0;width:38px;height:36px}.ghost:after{content:"↪";font-size:16px}.sidebar-industrial{display:none}.topbar{padding:0 16px;grid-template-columns:1fr auto}.top-compose,.profile-copy,.profile-chevron{display:none}.cass-dashboard-grid-top,.cass-dashboard-grid-bottom{grid-template-columns:1fr}.cass-dashboard-grid-top .cass-project-card,.cass-dashboard-grid-bottom .cass-status-card{grid-column:auto}.cass-kpi-grid{grid-template-columns:repeat(2,1fr)}.content{padding:20px}.cass-project-spotlight{grid-template-columns:180px 1fr}
}
@media(max-width:680px){
  .app{display:block}.sidebar{position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;height:62px;border-right:0;border-top:1px solid var(--line);padding:0;z-index:40}.sidebar-logo,.side-footer,.sidebar-industrial{display:none}.sidebar nav{margin:0;padding:4px 5px;display:grid;grid-template-columns:repeat(6,1fr);height:100%;gap:1px}.nav{font-size:0;padding:4px;border-radius:4px}.nav i{font-size:18px}.nav:nth-of-type(n+7){display:none}.nav.active:before{left:16%;right:16%;top:auto;bottom:-4px;width:auto;height:3px}.main{padding-bottom:66px}.topbar{height:64px;grid-template-columns:1fr auto;padding:0 10px}.top-search{height:38px}.top-icon{width:34px}.profile-chip,.top-divider{display:none}.content{padding:14px}.cass-dashboard-head{align-items:flex-start}.cass-dashboard-date{display:none}.cass-dashboard-head h1{font-size:23px}.cass-kpi-grid{grid-template-columns:1fr 1fr}.cass-kpi{min-height:82px;grid-template-columns:33px 1fr;padding:11px}.cass-kpi-value{font-size:20px}.cass-kpi.money .cass-kpi-value{font-size:14px}.cass-project-spotlight{grid-template-columns:1fr;height:auto}.cass-project-visual{min-height:145px}.cass-status-body{grid-template-columns:1fr;height:auto}.cass-donut{width:115px;height:115px}.cass-donut:after{inset:26px}.cass-dashboard-grid-top,.cass-dashboard-grid-bottom{gap:10px}.top-actions{gap:2px}
}

/* CASS CRM v0.5.1 — Ustawienia, konta, uprawnienia oraz SMTP/IMAP */
.settings-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;background:#fff;border:1px solid var(--line);padding:23px 25px;border-radius:8px;margin-bottom:12px}
.settings-hero h1{margin:4px 0 7px;font-size:26px;letter-spacing:-.025em}.settings-hero p{margin:0;color:var(--muted);max-width:830px;font-size:13px;line-height:1.55}
.settings-tabs{display:flex;gap:2px;background:#e9e9e7;border:1px solid #dededb;border-radius:7px;padding:4px;margin:0 0 12px;width:max-content;max-width:100%;overflow:auto}.settings-tabs button{border:0;background:transparent;padding:9px 14px;border-radius:5px;font-size:12px;font-weight:750;color:#666;cursor:pointer;white-space:nowrap}.settings-tabs button.active{background:#fff;color:#111;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.settings-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:12px}.settings-panel{overflow:hidden}.settings-panel-head{padding:15px 17px}.settings-search{width:300px;height:38px}.settings-table-wrap{overflow:auto}.settings-table{width:100%;border-collapse:collapse}.settings-table th{text-align:left;font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:#888;padding:10px 13px;background:#fafaf9;border-bottom:1px solid var(--line)}.settings-table td{padding:12px 13px;border-bottom:1px solid #eeeeec;font-size:12px;vertical-align:middle}.settings-table tr:last-child td{border-bottom:0}.inactive-user{opacity:.58;background:#fafafa}.employee-cell{display:flex;align-items:center;gap:10px;min-width:205px}.employee-avatar{width:34px;height:34px;border-radius:50%;background:#eeeeec;display:grid;place-items:center;font-size:10px;font-weight:850}.employee-cell strong,.employee-cell small{display:block}.employee-cell small{color:#8b8d91;font-size:9px;margin-top:2px}.role-pill,.account-status,.access-chip{display:inline-flex;align-items:center;border-radius:20px;padding:4px 8px;font-size:9px;font-weight:750;white-space:nowrap}.role-pill.admin{background:#17191b;color:#fff}.role-pill.manager{background:#fff0d8;color:#88601e}.role-pill.user{background:#eff2f3;color:#556168}.account-status{gap:5px;background:#f1f2f2;color:#73777a}.account-status i{width:6px;height:6px;border-radius:50%;background:#aaa}.account-status.on{background:#eaf6ed;color:#36704a}.account-status.on i{background:#3c9256}.account-status.off{background:#f3f3f2;color:#888}.access-list{display:flex;gap:4px;flex-wrap:wrap;max-width:360px}.access-chip{background:#f1f2f2;color:#5a6064}.access-chip.admin{background:#191b1d;color:#fff}.access-chip.off{background:#fcebec;color:#9c3338}.access-more{font-size:9px;color:#777;align-self:center}.table-actions{text-align:right}.settings-note{margin-top:12px;background:#f5f5f3;border-left:3px solid var(--accent);padding:13px 15px;font-size:11px;line-height:1.55;color:#5f6265}.settings-note strong{color:#1d1f21}
.modal-title-row,.mail-modal-title{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:12px}.modal-title-row h2,.mail-modal-title h2{margin:3px 0}.modal-title-row p,.mail-modal-title p{margin:0;font-size:11px}.account-form{background:#fafaf9;border:1px solid #ededeb;border-radius:7px;padding:12px}.toggle-line{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #ececea;border-radius:6px;padding:10px!important}.toggle-line input{width:auto}.toggle-line span strong,.toggle-line span small{display:block}.toggle-line span small{font-weight:500;color:#888;margin-top:2px}.permissions-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-top:18px}.permissions-head h3{margin:0 0 3px;font-size:14px}.permissions-head p{margin:0;color:#818489;font-size:10px}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:9px}.permission-card{margin:0;display:flex;gap:9px;border:1px solid #e6e6e3;border-radius:7px;padding:10px;background:#fff;cursor:pointer}.permission-card:has(input:checked){border-color:#c9c9c5;background:#fafaf8}.permission-card input{width:auto;margin-top:2px}.permission-card strong,.permission-card small{display:block}.permission-card strong{font-size:11px}.permission-card small{font-size:9px;font-weight:500;line-height:1.35;color:#85888b;margin-top:2px}.admin-access-note{margin-top:8px;padding:9px 11px;border-radius:6px;background:#17191b;color:#fff;font-size:10px}
.mail-settings-intro{padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px}.mail-settings-intro h3{font-size:19px;margin:4px 0}.mail-settings-intro p{margin:0;color:#777;max-width:820px;font-size:11px;line-height:1.5}.mail-config-counter{text-align:center;border-left:1px solid var(--line);padding-left:25px;min-width:135px}.mail-config-counter strong{display:block;font-size:26px}.mail-config-counter span{font-size:9px;color:#888}.shared-mail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.shared-mail-card{padding:15px;display:grid;grid-template-columns:44px 1fr auto;grid-template-areas:'icon copy state' 'icon proto button';align-items:center;gap:7px 11px}.shared-mail-icon{grid-area:icon;width:42px;height:42px;border-radius:7px;background:#17191b;color:#fff;display:grid;place-items:center;font-size:15px;font-weight:850}.shared-mail-copy{grid-area:copy;min-width:0}.shared-mail-copy strong,.shared-mail-copy span,.shared-mail-copy small{display:block}.shared-mail-copy strong{font-size:12px}.shared-mail-copy span{font-size:10px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shared-mail-copy small{font-size:8px;color:#8a8d90;margin-top:2px}.shared-mail-card>.account-status{grid-area:state;justify-self:end}.shared-mail-card>.small-btn{grid-area:button;justify-self:end}.protocol-status{grid-area:proto;display:flex;gap:5px;flex-wrap:wrap}.protocol-status span{font-size:8px;border-radius:12px;padding:3px 6px;background:#f0f0ee;color:#8a8a87}.protocol-status span.ok{background:#e9f5ec;color:#38714b}
.my-mail-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:12px}.my-mail-main{padding:0}.mail-config-form{padding:20px}.mail-config-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:14px;border-bottom:1px solid #ededeb}.mail-config-head h3{margin:0 0 4px;font-size:17px}.mail-config-head p{margin:0;color:#777;font-size:10px;line-height:1.45}.switch-label{margin:0;display:flex;align-items:center;gap:7px;font-size:10px;white-space:nowrap}.switch-label input{width:auto}.mail-address-row{display:grid;grid-template-columns:minmax(260px,.7fr) 1.3fr;gap:15px;align-items:end;margin-top:12px}.mail-address-row label{margin:0}.mail-security-note{background:#f5f5f3;border:1px solid #e7e7e4;border-radius:6px;padding:10px;font-size:9px;line-height:1.45;color:#707377}.mail-protocol-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.mail-protocol-card{border:1px solid #e5e5e2;border-radius:7px;padding:14px;background:#fbfbfa}.protocol-title{display:flex;align-items:center;gap:10px;margin-bottom:10px}.protocol-title>span{width:30px;height:30px;border:1px solid #dcdcd8;border-radius:50%;display:grid;place-items:center;font-weight:900}.protocol-title strong,.protocol-title small{display:block}.protocol-title strong{font-size:11px}.protocol-title small{font-size:8px;color:#888;margin-top:2px}.mail-protocol-card label{font-size:9px;margin:4px 0}.mail-protocol-card input,.mail-protocol-card select{font-size:10px;padding:8px 9px}.mail-form-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:13px;border-top:1px solid #ededeb}.mail-form-actions>div:last-child{display:flex;gap:6px}.mail-last-sync{font-size:9px;color:#85888b}.mail-help{height:max-content}.mail-help h3{margin:5px 0 15px}.help-step{display:grid;grid-template-columns:25px 1fr;gap:8px;margin:12px 0}.help-step>b{width:23px;height:23px;border-radius:50%;background:#17191b;color:white;display:grid;place-items:center;font-size:9px}.help-step span strong,.help-step span small{display:block}.help-step span strong{font-size:10px}.help-step span small{font-size:9px;color:#85888b;line-height:1.4;margin-top:2px}.mail-provider-hint{border-top:1px solid #ecece9;padding-top:10px;margin-top:10px}.mail-provider-hint strong,.mail-provider-hint span{display:block}.mail-provider-hint strong{font-size:10px;margin-bottom:4px}.mail-provider-hint span{font-size:8px;color:#7f8285;line-height:1.5}.mailbox-personal-note{font-size:8px;color:#929496;padding:1px 11px 6px 40px;line-height:1.3}.mailbox-personal-note.ready{color:#39734c}.mailbox-title.mini{font-size:8px;letter-spacing:.08em;color:#999}.mailbox-chip.personal{background:#17191b;color:#fff}

@media(max-width:1100px){.shared-mail-grid{grid-template-columns:1fr}.my-mail-layout{grid-template-columns:1fr}.mail-help{display:none}.mail-protocol-grid{grid-template-columns:1fr}.settings-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.settings-hero{padding:16px;flex-direction:column}.settings-hero h1{font-size:21px}.settings-tabs{width:100%}.settings-tabs button{flex:1}.permission-grid{grid-template-columns:1fr}.settings-stats{grid-template-columns:1fr 1fr}.settings-search{width:100%;margin-top:8px}.settings-panel-head{align-items:flex-start;flex-direction:column}.mail-address-row{grid-template-columns:1fr}.mail-form-actions{align-items:stretch;flex-direction:column}.mail-form-actions>div:last-child{flex-wrap:wrap}.shared-mail-card{grid-template-columns:38px 1fr;grid-template-areas:'icon copy' 'proto proto' 'state button'}.shared-mail-card>.account-status{justify-self:start}.shared-mail-card>.small-btn{justify-self:end}}


/* CASS CRM macOS v0.7.1 — korekta typografii i spójności */
:root{--font-ui:-apple-system,BlinkMacSystemFont,"Inter","Segoe UI",Roboto,Helvetica,Arial,sans-serif}
html{font-size:16px}body{font-family:var(--font-ui);font-size:14px;line-height:1.48;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,textarea,select{font-family:var(--font-ui)}
h1,h2,h3,h4,strong,.nav,.btn,.small-btn{letter-spacing:-.01em}.content h1{font-size:30px;line-height:1.15}.content h2{line-height:1.2}.content h3{line-height:1.25}
.muted,.mini-text{line-height:1.5}.settings-note{line-height:1.55}.permission-card small{line-height:1.45}
.employee-mail-section{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.employee-mail-section .mail-config-form{padding:0}.permission-special{border-left:3px solid var(--accent)}
.google-settings-panel{max-width:980px}.google-event{background:#eef4ff!important;border-left-color:#4285f4!important;color:#27415f;cursor:pointer}.calendar-toolbar{align-items:flex-end}
.cass-dashboard-grid-bottom{grid-template-columns:minmax(0,1.4fr) minmax(330px,.6fr)!important}.project-work-grid{align-items:start}
@media(max-width:1100px){.cass-dashboard-grid-bottom{grid-template-columns:1fr!important}}

/* ========================================================================== 
   CASS CRM v9.1 — UI/UX POLISH
   Czytelniejsza typografia, lepszy kontrast, responsywne modale i formularze.
   Bez zewnętrznych fontów: szybki start i brak zależności od CDN.
   ========================================================================== */
:root{
  --font-ui:"Segoe UI Variable","SF Pro Text","SF Pro Display",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --ink:#16191d;
  --muted:#5f676f;
  --line:#e0e3e6;
  --line-strong:#cfd4d8;
  --focus:rgba(215,25,32,.16);
  --surface-soft:#f7f8f8;
}
html{font-size:16px;scroll-behavior:smooth}
body{
  font-family:var(--font-ui);
  font-size:14.5px;
  line-height:1.52;
  font-weight:450;
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  font-synthesis:none;
}
button,input,textarea,select{font-family:var(--font-ui);font-size:14px}
button{letter-spacing:-.005em}
h1,h2,h3,h4,h5,h6,strong,.subject,.nav,.btn,.small-btn{color:var(--ink);font-weight:750}
h1,h2,h3,h4{letter-spacing:-.024em}
.muted,.mini-text,small{color:var(--muted)}

/* Czytelność i dostępność */
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
input,textarea,select{
  min-height:40px;
  padding:9px 11px;
  border-color:var(--line-strong);
  color:#171a1e;
  font-weight:500;
  background:#fff;
}
textarea{min-height:92px;resize:vertical;line-height:1.5}
input::placeholder,textarea::placeholder{color:#8a9299;opacity:1;font-weight:400}
input:focus,textarea:focus,select:focus{
  border-color:#767f87;
  box-shadow:0 0 0 3px rgba(31,41,51,.08);
}
label{font-size:12px;font-weight:700;color:#30353a;line-height:1.35;margin:10px 0}
.btn{min-height:40px;padding:9px 15px;font-size:13px;font-weight:750;border-radius:7px;transition:background .15s,border-color .15s,transform .08s}
.btn:active,.small-btn:active,.top-compose:active{transform:translateY(1px)}
.small-btn{min-height:36px;padding:8px 11px;font-size:12px;font-weight:700;border-radius:7px;color:#2c3135}
.badge{font-size:11px;padding:4px 8px;font-weight:700}

/* Nawigacja */
.nav{font-size:13.5px;font-weight:700;line-height:1.2;min-height:43px}
.nav i{font-size:18px}
.side-company{font-size:13px}.side-company small{font-size:11px}
.top-search input{font-size:13px;font-weight:500}
.top-compose{font-size:12.5px;font-weight:750}
.profile-copy strong{font-size:13px}.profile-copy small{font-size:11px;color:#6c737a}
.eyebrow{font-size:10px;font-weight:800;color:#6f767d}

/* Nagłówki i panele */
.content h1{font-size:30px;line-height:1.12;font-weight:800}
.content h2{font-size:22px;line-height:1.18;font-weight:780}
.content h3{font-size:16px;line-height:1.28;font-weight:750}
.panel-head h3{font-size:15px;font-weight:750}
.panel-head{min-height:50px;padding:14px 17px}
.panel-body{padding:17px}
.settings-hero h1{font-size:29px;font-weight:800}
.settings-hero p{font-size:13.5px;color:#606970}
.settings-tabs button{font-size:12.5px;font-weight:700}

/* Tabele */
.table th,.settings-table th{
  font-size:10.5px;
  font-weight:750;
  color:#626a71;
  letter-spacing:.065em;
}
.table td,.settings-table td{font-size:13px;line-height:1.4;color:#2a2f34}
.table tbody tr,.settings-table tbody tr{transition:background .12s}
.table tbody tr:hover,.settings-table tbody tr:hover{background:#f8f9f9}
.employee-cell strong{font-size:13px}.employee-cell small{font-size:11px;color:#6d757c}
.employee-avatar{font-size:11px}
.role-pill,.account-status,.access-chip{font-size:10.5px;font-weight:700;padding:5px 9px}
.access-more{font-size:10.5px}
.table-sub{display:block;font-size:11px;color:#727a81;margin-top:3px}

/* Dashboard — usuwamy mikrotekst */
.cass-dashboard-head h1{font-size:29px;font-weight:800}
.cass-dashboard-head p,.cass-dashboard-date{font-size:13px}
.cass-kpi-value{font-size:25px;font-weight:800}
.cass-kpi-label{font-size:11.5px;color:#50575e;font-weight:600}
.cass-dash-link{font-size:10.5px}
.cass-task-table th{font-size:9.5px}.cass-task-table td{font-size:11.5px;line-height:1.35}
.cass-mail-copy strong{font-size:11.5px}.cass-mail-copy small{font-size:10px}.cass-mail-time{font-size:9.5px}
.cass-meta-row,.cass-progress-line,.cass-project-state{font-size:10.5px}
.cass-schedule-grid{font-size:9.5px}.cass-schedule-slot{font-size:9px}.cass-schedule-grid .crew small{font-size:8.5px}
.cass-mini-map:after{font-size:9px}.cass-map-legend{font-size:8.5px}
.cass-donut-center{font-size:9.5px}.cass-status-legend,.cass-status-total{font-size:10.5px}

/* Zadania, e-mail, kalendarz */
.task-card h4{font-size:14px}.task-card p{font-size:12px}.task-meta>span,.task-icons{font-size:10.5px}
.email-item .sender,.email-item .subj{font-size:13px}.email-item .snippet{font-size:11px}.email-item time{font-size:10.5px}
.email-body{font-size:14px;line-height:1.68}
.cal-date,.cal-head{font-size:11.5px}.cal-event{font-size:10.5px;line-height:1.3}
.activity-item strong{font-size:13px}.activity-item p{font-size:11.5px}.activity-item time{font-size:10.5px}

/* --------------------------------------------------------------------------
   MODALE — na screenach 16:9/16:10 okno nie może zajmować całego ekranu.
   Scroll odbywa się wewnątrz modala, stopka formularza pozostaje widoczna.
   -------------------------------------------------------------------------- */
.modal{
  padding:clamp(18px,3vh,34px) clamp(18px,3vw,42px);
  align-items:center;
  justify-items:center;
  overflow:hidden;
  background:rgba(15,18,21,.48);
  backdrop-filter:blur(5px);
}
.modal-card{
  width:min(760px,calc(100vw - 48px));
  max-height:calc(100dvh - 56px);
  padding:24px 26px;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  border-radius:12px;
  border:1px solid #d7dade;
  box-shadow:0 24px 72px rgba(0,0,0,.25);
  scrollbar-gutter:stable;
}
.modal-card.wide{
  width:min(1120px,calc(100vw - 64px));
  max-height:min(900px,calc(100dvh - 64px));
  padding:0;
}
.modal-card h2{font-size:22px;font-weight:800;margin:0 0 12px}
.admin-user-modal{padding:22px 26px 0}
.modal-title-row,.mail-modal-title{
  margin:0 -26px 16px;
  padding:0 26px 16px;
  border-bottom:1px solid var(--line);
  background:#fff;
}
.modal-title-row h2,.mail-modal-title h2{font-size:22px;font-weight:800}
.modal-title-row p,.mail-modal-title p{font-size:12.5px;line-height:1.5;max-width:760px}
.modal-actions{
  position:sticky;
  bottom:0;
  z-index:5;
  margin:20px -26px 0;
  padding:14px 26px;
  background:rgba(255,255,255,.97);
  border-top:1px solid var(--line);
  box-shadow:0 -8px 20px rgba(15,20,25,.035);
  backdrop-filter:blur(8px);
}
.modal-card:not(.wide)>.modal-actions{margin-left:-26px;margin-right:-26px;margin-bottom:-24px}
.form-grid{gap:12px 16px}
.account-form{padding:16px;border-radius:9px;background:#f8f9f9}
.toggle-line{min-height:52px;padding:10px 12px!important;border-radius:8px}
.toggle-line span strong{font-size:12.5px}.toggle-line span small{font-size:11px;color:#687078}
.permissions-head{margin-top:20px;gap:18px}
.permissions-head h3{font-size:15px;font-weight:800}.permissions-head p{font-size:11.5px;color:#667078;line-height:1.45}
.permission-grid{gap:9px 10px;margin-top:11px}
.permission-card{min-height:58px;padding:11px 12px;border-radius:8px;align-items:flex-start}
.permission-card strong{font-size:12.5px;font-weight:750}.permission-card small{font-size:10.5px;color:#69727a;line-height:1.4}
.admin-access-note{font-size:11.5px;padding:10px 12px}
.employee-mail-section{margin-top:22px;padding-top:0;border-top:0}
.employee-mail-section>.permissions-head{padding-top:18px;border-top:1px solid var(--line)}

/* Poczta w ustawieniach */
.mail-config-form{padding:18px 0 0}
.mail-config-head h3{font-size:17px;font-weight:800}.mail-config-head p{font-size:11.5px;color:#687078}
.switch-label{font-size:11.5px;font-weight:700}
.mail-address-row{gap:14px;margin-top:14px}
.mail-security-note{font-size:10.5px;line-height:1.48;color:#626b72;padding:10px 11px}
.mail-protocol-grid{gap:12px;margin-top:14px}
.mail-protocol-card{padding:15px;border-radius:9px;background:#fafbfb}
.protocol-title strong{font-size:12.5px}.protocol-title small{font-size:10px;color:#707981}
.mail-protocol-card label{font-size:11px;margin:6px 0}
.mail-protocol-card input,.mail-protocol-card select{font-size:12px;padding:8px 10px;min-height:38px}
.mail-last-sync{font-size:10.5px;color:#6d757c}
.mail-form-actions{margin-top:16px;padding-top:14px;flex-wrap:wrap}
.settings-note{font-size:12px;color:#545d64;line-height:1.55}

/* Scrollbary — dyskretne, ale widoczne */
*{scrollbar-width:thin;scrollbar-color:#b7bdc2 transparent}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:#b7bdc2;border-radius:20px;border:3px solid transparent;background-clip:padding-box}
::-webkit-scrollbar-track{background:transparent}

/* Responsywność modali i formularzy */
@media(max-width:1180px){
  .modal-card.wide{width:calc(100vw - 36px);max-height:calc(100dvh - 36px)}
  .mail-protocol-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  body{font-size:14px}
  .modal{padding:10px}
  .modal-card,.modal-card.wide{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:10px}
  .modal-card{padding:18px}
  .admin-user-modal{padding:18px 18px 0}
  .modal-title-row,.mail-modal-title{margin:0 -18px 14px;padding:0 18px 14px}
  .modal-actions{margin-left:-18px;margin-right:-18px;padding:12px 18px;flex-wrap:wrap}
  .form-grid,.permission-grid{grid-template-columns:1fr}
  .form-grid .full{grid-column:auto}
  .settings-table td{font-size:12px}
  .content h1{font-size:25px}
}
@media(max-height:760px) and (min-width:761px){
  .modal{padding:14px 28px}
  .modal-card.wide{max-height:calc(100dvh - 28px)}
  .admin-user-modal{padding-top:16px}
  .account-form{padding:12px}
  .permissions-head{margin-top:14px}
  .permission-card{min-height:50px;padding:9px 10px}
  .mail-protocol-card{padding:12px}
}

/* Dodatkowe ujednolicenie mikrotekstów w widokach szczegółowych */
.compact-grid input,.compact-grid textarea,.compact-grid select{font-size:12.5px}
.subtask-row strong{font-size:12px}.subtask-row>span:last-child{font-size:10.5px}
.attachment-row a{font-size:12px}.attachment-row span{font-size:10.5px}
.side-box>strong{font-size:12.5px}.side-box>small{font-size:10.5px;line-height:1.4}
.time-row span,.time-row small{font-size:10.5px}.person-chip,.dependency{font-size:11.5px}
.history-mini b{font-size:10.5px}.history-mini span{font-size:9.5px}.history-mini p{font-size:10.5px;line-height:1.4}
.schedule-palette>strong{font-size:12px}.schedule-preset{font-size:11px}
.schedule-corner,.schedule-day{font-size:11px}.schedule-person strong{font-size:12px}.schedule-person small{font-size:10px}
.assignment-chip span{font-size:11px}.assignment-chip small{font-size:9.5px}
.map-legend{font-size:11px}.map-pin>b{font-size:11px}.map-pin>small{font-size:9.5px}.map-project-list small{font-size:10.5px}
.cal-event.meeting small{font-size:9.5px}
.mail-settings-intro p{font-size:12px}.mail-config-counter span{font-size:10px}
.shared-mail-copy strong{font-size:13px}.shared-mail-copy span{font-size:11.5px}.shared-mail-copy small{font-size:10px}
.protocol-status span{font-size:10px}.mail-help .help-step span strong{font-size:11.5px}.mail-help .help-step span small{font-size:10.5px}
.mail-provider-hint strong{font-size:11.5px}.mail-provider-hint span{font-size:10px}.mailbox-personal-note{font-size:9.5px}.mailbox-title.mini{font-size:9.5px}

/* --------------------------------------------------------------------------
   CASS CRM v9.2 — real project maps + city autocomplete
   -------------------------------------------------------------------------- */
.project-map-panel{padding:0;overflow:hidden;min-width:0}
.project-leaflet-map{height:620px;width:100%;background:#eef2f4;border-radius:14px;overflow:hidden}
.map-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.map-toolbar .map-legend{margin-right:6px}
.leaflet-container{font-family:var(--font,Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);background:#edf1f3;color:#172027}
.leaflet-control-attribution{font-size:9px!important;background:rgba(255,255,255,.9)!important}
.cass-map-city-label{border:0!important;background:rgba(255,255,255,.95)!important;color:#172027!important;font-size:10px!important;font-weight:800!important;padding:4px 7px!important;border-radius:6px!important;box-shadow:0 3px 12px rgba(0,0,0,.12)!important}
.cass-map-city-label:before{display:none!important}
.cass-map-popup{min-width:180px;display:grid;gap:3px}
.cass-map-popup strong{font-size:13px;color:#11181e}
.cass-map-popup span{font-weight:700;color:#3e4950}
.cass-map-popup small{font-size:10px;color:#667078}
.cass-map-popup button{margin-top:7px;border:0;border-radius:7px;padding:7px 9px;background:#d71920;color:#fff;font-weight:800;cursor:pointer}
.cass-mini-map.leaflet-map{height:224px;background:#edf1f3;position:relative;overflow:hidden}
.cass-mini-map.leaflet-map:before,.cass-mini-map.leaflet-map:after{display:none!important;content:none!important}
.cass-mini-map.leaflet-map .leaflet-control-attribution{font-size:7px!important;line-height:1.1}

.location-field{position:relative}
.location-autocomplete{position:relative}
.city-suggestions{position:absolute;left:0;right:0;top:calc(100% + 5px);z-index:1500;background:#fff;border:1px solid #d8dde1;border-radius:10px;box-shadow:0 16px 38px rgba(14,23,30,.18);max-height:280px;overflow:auto;padding:5px}
.city-suggestions.hidden{display:none}
.city-suggestions button{width:100%;border:0;background:#fff;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:2px;padding:9px 10px;border-radius:7px;cursor:pointer}
.city-suggestions button:hover,.city-suggestions button:focus{background:#f2f5f6;outline:none}
.city-suggestions strong{font-size:12px;color:#12191e}
.city-suggestions span{font-size:10px;color:#69737a}
.city-searching{padding:11px 10px;color:#6b747a;font-size:11px}
.location-preview{height:220px;border:1px solid #dfe4e7;border-radius:12px;overflow:hidden;background:#f5f7f8;position:relative}
.location-preview.compact{height:180px}
.location-preview-empty{height:100%;display:grid;place-items:center;text-align:center;color:#727c82;font-size:11px;padding:20px}
.location-preview .leaflet-control-attribution{font-size:7px!important}

@media(max-width:1280px){.project-leaflet-map{height:540px}}
@media(max-width:900px){.project-leaflet-map{height:460px}.map-toolbar{justify-content:flex-start}.location-preview{height:190px}}


/* ==========================================================
   CASS CRM V9.2.2 - Leaflet / modal / autocomplete stacking
   ========================================================== */

/*
 * Cała mapa tworzy własny stacking context.
 * Warstwy Leaflet nie mogą już "wyjść" ponad modale CRM.
 */
.leaflet-container {
    position: relative !important;
    z-index: 0 !important;
    isolation: isolate;
}

/* Pełna mapa i mapa dashboardu pozostają pod UI */
.project-map-panel,
.project-leaflet-map,
.cass-mini-map,
.location-preview {
    position: relative;
    z-index: 0;
}

/* Okna dialogowe zawsze nad Leaflet */
.modal-overlay,
.modal-backdrop,
.dialog-overlay {
    position: fixed !important;
    z-index: 30000 !important;
}

.modal-window,
.modal-dialog,
.dialog,
[role="dialog"] {
    position: relative;
    z-index: 30001 !important;
}

/* Lista miast również musi być ponad mapą/podglądem */
[id$="CitySuggestions"],
.city-suggestions,
.location-suggestions,
.autocomplete-suggestions,
.autocomplete-list {
    position: absolute;
    z-index: 31000 !important;
}

/* Popup Leaflet pozostaje wewnątrz stacking context mapy */
.leaflet-popup,
.leaflet-control-container {
    pointer-events: auto;
}

/* CASS CRM - usuwanie e-mail */
.email-delete-btn{
    color:#b4232b !important;
    border-color:#e8b7ba !important;
    background:#fff !important;
}

.email-delete-btn:hover{
    background:#fff2f2 !important;
    border-color:#cf4b51 !important;
    color:#8f1118 !important;
}


/* CASS CRM - usuwanie / przywracanie */

.cass-save-red{
    background:#d71920 !important;
    border-color:#d71920 !important;
    color:#fff !important;
    font-weight:700 !important;
}

.cass-save-red:hover{
    background:#b71218 !important;
    border-color:#b71218 !important;
}

.cass-danger-btn{
    color:#b5151c !important;
    border-color:#dfabad !important;
    background:#fff !important;
    font-weight:700 !important;
}

.cass-danger-btn:hover{
    color:#fff !important;
    background:#c81921 !important;
    border-color:#c81921 !important;
}

.cass-restore-btn{
    font-weight:700 !important;
}

.task-edit-actions{
    display:flex;
    align-items:center;
    gap:8px;
}


/* CASS CRM - Moje zadania / Zadania pracowników */

.cass-task-head{
    align-items:flex-start;
}

.cass-task-tabs{
    display:flex;
    width:max-content;
    max-width:100%;
    margin-top:15px;
    padding:4px;
    gap:4px;

    background:#f1f3f4;
    border:1px solid #dde1e4;
    border-radius:11px;
}

.cass-task-tabs button{
    appearance:none;
    border:0;
    background:transparent;

    padding:9px 17px;
    border-radius:8px;

    color:#555e65;
    font-weight:700;
    cursor:pointer;

    transition:.15s ease;
}

.cass-task-tabs button:hover{
    background:#e7e9eb;
    color:#111;
}

.cass-task-tabs button.active{
    background:#fff;
    color:#111;

    box-shadow:
        0 1px 3px rgba(0,0,0,.12),
        0 0 0 1px rgba(0,0,0,.03);
}

@media(max-width:700px){

    .cass-task-tabs{
        width:100%;
    }

    .cass-task-tabs button{
        flex:1;
        padding-left:8px;
        padding-right:8px;
    }

}

