:root{--blue:#0b67b2;--blue-dark:#084a82;--blue-soft:#eaf4fc;--ink:#183044;--muted:#6e8191;--line:#dce6ed;--bg:#f4f7f9;--red:#df3f45}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 Inter,Segoe UI,Arial,sans-serif}button,input,select{font:inherit}header{height:74px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 28px;gap:28px}header img{width:245px;height:auto}.header-title{font-weight:700;font-size:18px;border-left:1px solid var(--line);padding-left:28px}.logout{margin-left:auto;color:var(--muted);text-decoration:none}main{height:calc(100vh - 74px);display:grid;grid-template-columns:340px 1fr}aside{background:#fff;border-right:1px solid var(--line);overflow:auto;padding:20px 14px}nav{display:grid;grid-template-columns:1fr 1fr 72px;gap:7px;margin-bottom:14px}nav a{border-radius:9px;padding:10px 8px;text-align:center;text-decoration:none;color:var(--muted);font-weight:700;background:#f5f8fa;display:flex;justify-content:center;gap:7px}nav a.active{background:var(--blue);color:#fff}nav b{font-size:11px;background:rgba(255,255,255,.75);color:var(--blue-dark);padding:2px 5px;border-radius:10px}.new-project{width:100%;border:0;border-radius:9px;padding:11px;background:var(--blue);color:#fff;font-weight:800;cursor:pointer}.template-link{display:block;text-align:center;padding:8px;color:var(--muted);font-size:12px;text-decoration:none}.template-link.selected{color:var(--blue);font-weight:800}.search input{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:9px;background:#fafcfd;margin:8px 0}.project{display:flex;align-items:center;gap:9px;padding:10px;border-radius:9px;text-decoration:none;color:var(--ink);border:1px solid transparent;margin:3px 0}.project:hover{background:#f4f8fb}.project.selected{background:var(--blue-soft);border-color:#bddcf2;color:var(--blue-dark)}.project i,.position-grip{font-style:normal;color:#a8b6c0;cursor:grab;font-size:17px}.project.dragging,.position.dragging{opacity:.3}.project-label{display:flex;min-width:0;flex-direction:column}.project-label strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-label small{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.content{padding:28px 34px 80px;overflow:auto}.project-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px}.project-head small{text-transform:uppercase;letter-spacing:.12em;color:var(--blue);font-weight:800}.project-head h1{font-size:28px;margin:3px 0 0}.project-head p{margin:2px 0 0;color:var(--muted);font-size:17px}.project-head form{display:flex;gap:8px}.project-head select,.secondary{border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px 12px;color:var(--ink)}.template-note{background:var(--blue-soft);border:1px solid #bddcf2;padding:12px 15px;border-radius:10px;margin-bottom:18px;color:var(--blue-dark)}.phase{background:#fff;border:1px solid var(--line);border-radius:13px;margin-bottom:16px;overflow:hidden;box-shadow:0 2px 8px rgba(26,55,75,.035)}.phase-title{display:flex;align-items:center;gap:9px;padding:14px 18px;background:#f9fbfc;border-bottom:1px solid var(--line)}.phase-title h2{font-size:16px;margin:0}.phase-title span{font-size:12px;color:var(--blue);background:var(--blue-soft);padding:2px 7px;border-radius:12px}.position{display:grid;grid-template-columns:22px 30px minmax(180px,1fr) 155px 30px;align-items:center;padding:10px 14px;border-bottom:1px solid #edf2f5;min-height:54px}.toggle input{width:19px;height:19px;accent-color:var(--blue);cursor:pointer}.position-name{font-weight:600}.responsible{font-size:12px;color:var(--muted);margin-top:2px}.date input{width:100%;padding:7px 8px;border:1px solid var(--line);border-radius:7px;color:var(--ink);background:#fff}.delete-position button{width:24px;height:24px;padding:0;border:0;border-radius:50%;background:#fff0f0;color:var(--red);font-size:21px;line-height:20px;font-weight:800;cursor:pointer}.delete-position button:hover{background:var(--red);color:#fff}.position.done .position-name{text-decoration:line-through;color:#91a0ab}.position.done{background:#fbfcfd}.add-position{display:flex;border-top:1px solid var(--line);padding:10px 14px;background:#fbfcfd}.add-position input{flex:1;border:0;background:transparent;outline:0;padding:7px}.add-position button{border:0;background:var(--blue-soft);color:var(--blue);border-radius:7px;width:36px;font-weight:900;cursor:pointer}.welcome{margin:70px auto;max-width:500px;text-align:center;color:var(--muted)}dialog{border:0;border-radius:16px;padding:0;box-shadow:0 24px 80px rgba(10,44,68,.25);width:min(440px,calc(100% - 30px))}dialog::backdrop{background:rgba(14,36,52,.45);backdrop-filter:blur(2px)}dialog form{padding:30px;position:relative}dialog h2{margin:0}dialog p{color:var(--muted);margin:4px 0 22px}dialog label,.auth-card label{display:block;font-weight:700;margin:14px 0}dialog input,.auth-card input{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid var(--line);border-radius:8px}.dialog-close{position:absolute;right:16px;top:12px;border:0;background:none;color:var(--muted);font-size:28px}.dialog-submit,.auth-card button{width:100%;padding:13px;border:0;border-radius:8px;background:var(--blue);color:#fff;font-weight:800;margin-top:10px}.auth-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#eff7fd,#f8fafc)}.auth-card{width:min(430px,calc(100% - 32px));background:#fff;padding:36px;border-radius:16px;box-shadow:0 18px 50px rgba(15,56,87,.12)}.auth-card img{width:100%;max-width:300px}.auth-card h1{margin:28px 0 5px}.auth-card p{color:var(--muted);margin:0 0 24px}.error{background:#fff1f1;color:#a82b2b;padding:10px;border-radius:8px}@media(max-width:800px){header img{width:190px}.header-title{display:none}main{grid-template-columns:1fr;height:auto}aside{border-right:0;border-bottom:1px solid var(--line);max-height:50vh}.content{padding:22px 12px}.position{grid-template-columns:20px 28px 1fr 28px}.date{grid-column:3;margin-top:7px;width:150px}.delete-position{grid-column:4;grid-row:1}.project-head{align-items:flex-start;gap:12px}.project-head h1{font-size:22px}}
@media(max-width:1100px){header{gap:14px;padding-left:16px;padding-right:16px}}@media(max-width:800px){header{height:auto;min-height:74px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}header a{font-size:13px}.logout{margin-left:0}main{height:auto}}
.project-actions{display:flex;gap:8px;align-items:center}.project-actions>a.secondary{text-decoration:none}
.content+dialog,dialog{max-height:calc(100vh - 30px);overflow:auto}dialog select{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff}dialog fieldset{border:1px solid var(--line);border-radius:10px;padding:4px 14px 10px;margin:14px 0}dialog legend{padding:0 6px;color:var(--blue-dark);font-weight:800}
