:root{--navy: #0d3276;--blue: #1a73e8;--muted: #5a6577;--line: #e3e8ef;--bg: #f0f4f8;--shadow: 0 8px 24px rgba(13, 50, 118, .08);color:var(--navy);font-family:Segoe UI,sans-serif;background:var(--bg)}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}.login-screen{min-height:100vh;display:grid;place-items:center;padding:32px 16px;background:radial-gradient(1200px 420px at 50% 110%,rgba(169,203,240,.55),transparent 60%),radial-gradient(900px 280px at 80% 70%,rgba(215,233,248,.9),transparent 55%),linear-gradient(#fcfefe,#eaf3fb)}.login{width:min(440px,100%);background:#fff;padding:28px 28px 24px;border-radius:18px;box-shadow:0 16px 40px #0d32761f}.brand{color:var(--navy);letter-spacing:-.4px}.brand span,.login h1 span{color:var(--blue)}.login h1{margin:0;font-size:40px;text-align:center}.tagline,.hint{text-align:center;color:var(--muted)}.login h2{margin:18px 0 0;font-size:22px}.shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh;background:var(--bg)}.sidebar{display:flex;flex-direction:column;gap:8px;padding:22px 16px;background:#fff;border-right:1px solid #e3e8ef;box-shadow:4px 0 18px #0d32760f;position:sticky;top:0;height:100vh}.logo{padding:4px 10px 18px}.logo .brand{font-size:26px;letter-spacing:-.4px}.side-user{display:flex;gap:10px;align-items:center;padding:8px;margin-bottom:8px}.nav,.signout{text-align:left;border:1px solid transparent;background:transparent;color:var(--navy);border-radius:12px;padding:12px 14px;font-weight:700}.nav.active{background:#e7f1fb;border-color:#d3e4f6}.signout{border:1px solid #c9d4e4;background:transparent}.main{min-width:0}.header{display:flex;align-items:center;gap:12px;background:#fff;color:var(--navy);min-height:72px;padding:0 28px;box-shadow:0 1px #e6ebf2;position:sticky;top:0;z-index:2}.header h1{margin:0;font-size:20px;font-weight:800}.row{display:flex;gap:12px;align-items:center}.grow{flex:1}.list-head{margin-bottom:14px}button{cursor:pointer}.bell,.icon-btn{border:1px solid #d3e4f6;background:#e7f1fb;color:var(--blue);border-radius:10px;padding:8px 12px;font-weight:700}.avatar{width:40px;height:40px;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:#fff;font-weight:700}.body{display:grid;grid-template-columns:1fr}@media(min-width:960px){.body.split{grid-template-columns:minmax(320px,420px) minmax(0,1fr);align-items:start}}.panel,.body{width:min(1120px,100%);margin-inline:auto}.panel{padding:28px 32px 48px}@media(max-width:800px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}}.card,.field,.list-btn{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.list-btn,.card{width:100%;text-align:left;padding:18px 22px;margin:0 0 12px}.task-row{display:flex;align-items:center;gap:16px;min-height:64px}.task-row strong{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chev{color:#b0b8c4;font-size:22px;line-height:1}.back,.danger,.send,.file{border:0;background:transparent;color:var(--navy);border-radius:10px;padding:8px 12px;font-weight:700}.back{font-size:42px;line-height:1;padding:0 4px 4px 0}.danger{color:#e53935}.detail .pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail .card{padding:20px 24px}.detail .card>.muted{display:block;margin-bottom:12px}.desc{background:#e7f1fb;color:var(--navy);border-radius:10px;padding:12px 14px}.who{display:flex;align-items:center;gap:10px;margin-top:8px}.avatar.sm{width:32px;height:32px;font-size:13px;background:#d6e8fb;color:var(--navy)}.avatar.sm.tone-0{background:#d6e8fb}.avatar.sm.tone-1{background:#d8f3e4}.avatar.sm.tone-2{background:#e8ddf6}.avatar.sm.tone-3{background:#f8e4d4}.avatar.sm.tone-4{background:#d4f0f4}.comment{align-items:flex-start;margin-top:14px}.file{display:flex;align-items:center;gap:12px;width:100%;margin-top:10px;padding:8px 0;text-align:left;color:var(--navy)}.file-mark{width:42px;height:42px;flex:none;border-radius:10px;display:grid;place-items:center;background:#e7f1fb}.file-mark.image{background:#e7f1fb}.download{display:grid;place-items:center;width:36px;height:36px}.comment-bar{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px}.comment-bar input{margin:0;border:0}.clip{width:40px;height:40px;flex:none;display:grid;place-items:center;border-radius:12px;background:#e7f1fb}.send{width:42px;height:42px;border-radius:12px;background:var(--navy);color:#fff}@media(max-width:700px){.detail .pair{grid-template-columns:1fr}}.list-btn strong,.card h2{color:var(--navy)}.primary,.add{background:var(--navy);color:#fff;border:0;border-radius:12px;padding:12px 16px;font-weight:700}.add{width:auto;padding:8px 14px}.login .primary,.panel>.primary,form .primary{width:100%;margin-top:8px}.create label{font-size:14px;color:var(--navy);margin:16px 0 0}.assign-field,.attach{width:100%;margin-top:8px;display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #d5dce6;border-radius:12px;padding:14px 16px;text-align:left;color:#111;font-weight:500}.create input::placeholder,.create textarea::placeholder{color:#9aa3b2;font-weight:400;font-size:14px}.assign-field{justify-content:flex-start}.assign-field .hint,.assign-field .picked{flex:1;text-align:left}.assign-field .hint{color:#9aa3b2;font-weight:400;font-size:14px}.assign-field .picked{color:#111;font-weight:400;font-size:14px}.assign-field svg{flex:none}.picked-file{display:flex;align-items:center;gap:12px;margin-top:10px;padding:12px 14px;background:#fff;border:1px solid #e3e8ef;border-radius:12px}.file-x{border:0;background:transparent;color:#8a94a6;font-size:22px;line-height:1;padding:0 4px}.assign-list{background:#fff;border:1px solid #d5dce6;border-radius:12px;margin-top:8px;padding:6px}.menu-search{width:100%;margin:2px 0 6px}.assign-scroll{max-height:240px;overflow-y:auto}.menu-empty{margin:8px 10px 10px}.check{display:flex;align-items:center;gap:10px;color:#111;font-weight:400;margin:0;padding:8px}.check input{width:auto;margin:0}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.chip{display:inline-flex;align-items:center;gap:8px;background:#e3edf8;border:1px solid #c9d8ea;border-radius:20px;padding:4px 10px 4px 4px;color:#111;font-weight:500}.chip-x{color:#8a94a6;font-size:16px;line-height:1}.attach input{display:none}.attach strong{display:block;color:var(--navy)}.info{display:flex;gap:10px;align-items:flex-start;margin:16px 0 20px;padding:14px;border-radius:12px;background:#d7ebfa;color:#3c4a5c}.info-icon{width:22px;height:22px;flex:none;border-radius:50%;display:grid;place-items:center;background:#1a73e8;color:#fff;font-weight:800;font-size:13px}label{display:block;margin:12px 0;color:var(--muted);font-size:13px;font-weight:600}input,textarea,select{width:100%;margin-top:6px;padding:12px;border-radius:10px;border:1px solid #d5dce6;background:#fff;color:#111}textarea{min-height:96px}.error{color:#e53935}.muted{color:var(--muted);font-size:13px;font-weight:400}.tools{display:flex;gap:8px;margin-top:8px}h2,h3{color:var(--navy)}.report .segment{display:flex;background:#e7eef6;border-radius:12px;padding:4px;margin:8px 0 14px}.report .segment button{flex:1;border:0;background:transparent;border-radius:10px;padding:10px;font-weight:700;color:var(--muted)}.report .segment button.on{background:#fff;color:var(--navy);box-shadow:var(--shadow)}.report .assign-field{margin-top:6px}.report .menu-item{display:block;width:100%;text-align:left;border:0;background:transparent;border-radius:0;padding:12px 14px;color:#111;font-weight:400}.report .task-row strong{flex:none}.report .report-count{margin-left:auto}.report .chev{font-size:28px}.pair-dates{display:grid;grid-template-columns:1fr 1fr;gap:12px}.user-head{display:flex;align-items:center;gap:12px}.link{border:0;background:transparent;color:#1a73e8;font-weight:700}.report-task{cursor:pointer}.report-task .row{margin-top:8px}.report-task .row:first-child{margin-top:0}.count{display:inline-flex;align-items:center;gap:4px;color:#1a73e8;font-weight:600}.date-field{cursor:pointer}.modal-back{position:fixed;inset:0;background:#10182873;display:grid;place-items:center;z-index:20;padding:20px}.modal{width:min(480px,100%);background:#fff;border-radius:16px;padding:28px 26px;box-shadow:0 16px 40px #0d32762e}.modal h3{font-size:22px}.modal h3{margin:0 0 8px;color:var(--navy)}.modal p{margin:0 0 18px;color:var(--muted)}.modal-actions{display:flex;gap:10px}.modal-cancel,.modal-delete{flex:1;border-radius:10px;padding:12px;font-weight:700}.modal-cancel{background:#fff;color:var(--navy);border:1px solid var(--navy)}.modal-delete{background:#e53935;color:#fff;border:0}.print-type-label{margin:18px 0 14px;color:var(--navy);font-size:16px;font-weight:700}.print-type{display:flex;align-items:center;gap:10px;margin:0 0 14px;color:#111;font-size:16px;font-weight:500}.print-type input{width:18px;height:18px;margin:0}.print-actions{display:flex;gap:12px;margin-top:22px}.print-actions .modal-cancel,.print-actions .primary{width:180px;flex:none;margin:0}.print-only,.pdf-sheet{display:none}.pdf-head{display:flex;align-items:center;gap:16px;margin-bottom:12px;color:#0d3276}.pdf-logo{font-size:22px}.pdf-logo span{color:#1a73e8}.pdf-sheet table{width:100%;border-collapse:collapse;font-size:12px;font-weight:700;color:#142033}.pdf-sheet th,.pdf-sheet td{border:1px solid #bac8d6;padding:6px 8px;text-align:left}.pdf-sheet th{background:#dbeaf8;color:#0d3276}@media print{body.printing-report *{visibility:hidden}body.printing-report .pdf-sheet,body.printing-report .pdf-sheet *{visibility:visible}body.printing-report .pdf-sheet{display:block;position:absolute;left:0;top:0;width:100%;background:#fff}.avatar,.avatar.sm{print-color-adjust:exact;-webkit-print-color-adjust:exact;border:1px solid #b7cbe4}.no-print{display:none!important}.print-only,.shell{display:block}}
