*{box-sizing:border-box}body{margin:0;background:#f3f6fa;color:#243449;font:14px Arial,sans-serif}button,input,select{font:inherit}button{border:1px solid #d6e0ea;border-radius:7px;background:#fff;padding:9px 12px;cursor:pointer}button:hover{background:#eef4f9}button:disabled{opacity:.5;cursor:not-allowed}.primary{background:#16608f;color:#fff;border-color:#16608f}.primary:hover{background:#104c73}.danger{color:#ae3434}header{background:#122f48;color:#fff;padding:18px 3%;display:flex;align-items:center;justify-content:space-between;gap:20px}header h1{font-size:20px;margin:0}header h1 small{font-size:12px;color:#9bc9e6}header p{margin:6px 0 0;color:#b9ccdb}.header-right{display:flex;align-items:center;gap:14px}.mode{font-size:12px;color:#a5e2d0}main{max-width:1550px;margin:auto;padding:22px}nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}nav button.active{background:#16608f;color:#fff}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.stats>div{background:#fff;border:1px solid #e0e7ef;border-radius:10px;padding:17px;display:flex;flex-direction:column;gap:5px}.stats b{font-size:26px;color:#123c59}.stats span{color:#64758a;font-size:12px}.notice{padding:12px;background:#fff7dd;border:1px solid #e8d08e;border-radius:7px;margin:12px 0;display:flex;justify-content:space-between}.toolbar,.section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:14px 0}.toolbar{background:#fff;border:1px solid #e0e7ef;padding:12px;border-radius:9px;justify-content:flex-start}.toolbar label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700}.toolbar input,.toolbar select{padding:8px;border:1px solid #d4dfeb;border-radius:5px}.capture-scroller,.table-scroller{overflow:auto}.capture{background:#fff;padding:20px;border:1px solid #e0e7ef;border-radius:10px;min-width:920px;width:max-content;min-height:240px}.print-title{display:flex;justify-content:space-between;gap:40px;align-items:center;margin-bottom:16px}.print-title h2{margin:0;font-size:18px;color:#123c59}.print-title p{margin:5px 0 0;color:#667a8f}.print-title>span{color:#64758a;font-size:12px}.gantt{border-collapse:collapse;table-layout:fixed;min-width:950px;width:100%;font-size:12px}.gantt th,.gantt td{border:1px solid #e0e8ef;padding:9px 6px;text-align:center;min-width:54px}.gantt th{background:#eaf1f7;color:#28445c}.gantt th small,.gantt td small{display:block;font-weight:400;color:#77889a;font-size:10px;margin-top:4px}.gantt .name{min-width:210px;width:210px;text-align:left}.gantt .smallcol{min-width:120px;width:120px}.gantt td.name small{line-height:1.5}.project-row{background:#f1f6fb}.bar-project{background:#2878a7;color:#fff;font-weight:700}.bar-room{background:#c8e2f1;color:#1e5e86}.file{background:#fce0ae;color:#8c5300;font-weight:700}.production{background:#c9ddff;color:#215eab;font-weight:700}.delivery{background:#c7eedb;color:#0b7548;font-weight:700}.installation{background:#e8d7f8;color:#7541a0;font-weight:700}.legend{display:flex;gap:20px;flex-wrap:wrap;margin-top:14px;color:#607487;font-size:12px}.section-head h2{margin:0;color:#173f5b}.section-head p{margin:5px 0;color:#718092}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.project-card{background:#fff;border:1px solid #dfe7ef;border-radius:11px;margin-bottom:18px;overflow:hidden}.project-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:17px;border-bottom:1px solid #e4ebf1}.project-header h3{margin:0 0 6px;font-size:17px}.project-header p{margin:0;color:#6b7d8f}.plan-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:12px 17px;background:#f8fbfe}.plan-strip div{display:flex;flex-direction:column;gap:6px}.plan-strip span{font-size:11px;color:#64758a}.plan-strip b{font-size:16px;color:#205b7d}.listing{width:100%;border-collapse:collapse;white-space:nowrap}.listing th,.listing td{padding:11px;border-bottom:1px solid #edf0f3;text-align:left}.listing th{background:#f1f5f9;color:#607185;font-size:12px}.listing td small{display:block;margin-top:4px;color:#8795a3}.listing td button{padding:5px 8px}.card-footer{padding:12px 17px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#728396;font-size:12px}.trip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}.trip-card{background:#fff;border:1px solid #e1e9f1;border-radius:10px;padding:17px}.trip-index{font-size:11px;font-weight:700;color:#167b8b}.trip-card h3{margin:10px 0}.trip-card p{margin:8px 0}.trip-card small{color:#728396;line-height:1.6}.chips{display:flex;flex-wrap:wrap;gap:7px;margin:13px 0}.chips span{background:#eaf3f9;border-radius:15px;padding:6px 9px;font-size:12px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#132b3e9e;display:flex;align-items:center;justify-content:center;padding:20px;z-index:10}.dialog{width:min(700px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:12px;padding:22px}.dialog-head,.dialog-actions{display:flex;justify-content:space-between;align-items:center;gap:12px}.dialog-head h2{margin:0 0 18px}.dialog-head button{font-size:22px;border:0}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.form-grid label{font-size:12px;font-weight:700;display:flex;flex-direction:column;gap:6px}.form-grid input,.form-grid select{padding:10px;border:1px solid #ced9e4;border-radius:6px;width:100%}.form-hint{grid-column:1/-1;color:#64758a;font-size:12px;background:#eef5f9;padding:10px}.dialog-actions{justify-content:flex-end;margin-top:18px}.import-button{padding:9px 12px;border:1px solid #d6e0ea;border-radius:7px;cursor:pointer;background:#fff}.import-button input{display:none}.login{max-width:420px;margin:12vh auto;background:#fff;padding:30px;border-radius:12px}.login form{display:flex;flex-direction:column;gap:12px}.login input{padding:12px;border:1px solid #cdd7e1}.error{color:#b22}footer{margin-top:26px;font-size:12px;color:#8391a0;text-align:center}@media(max-width:760px){header{align-items:flex-start;flex-direction:column}.stats,.plan-strip{grid-template-columns:repeat(2,1fr)}.project-header,.card-footer{flex-direction:column;align-items:flex-start}.form-grid{grid-template-columns:1fr}main{padding:12px}}.drag-section{background:#fff;border:1px solid #dfe7ef;border-radius:11px;padding:16px}.drag-note{background:#eef6fd;padding:12px;border-radius:8px;color:#39566d;line-height:1.6}.drag-scroll{overflow:auto;border:1px solid #dce4ed;border-radius:8px}.drag-board{min-width:1750px}.drag-header,.drag-row{display:grid;grid-template-columns:220px minmax(0,1fr) 150px}.drag-header{background:#eef4fa;font-weight:700}.drag-name{padding:10px;border-right:1px solid #dfe6ee}.drag-name small{display:block;font-size:11px;color:#64758a;margin-top:4px}.drag-team{padding:10px;border-left:1px solid #dfe6ee;font-size:12px}.drag-days{display:grid;grid-template-columns:repeat(35,minmax(0,1fr));position:relative;min-width:0}.drag-header .drag-days>div{text-align:center;padding:8px 0;border-right:1px solid #dfe6ee;font-size:11px}.drag-header small{display:block;font-size:10px;font-weight:400;color:#65778a}.drag-row{height:53px;border-top:1px solid #e2e8ef}.drag-cell{border-right:1px solid #e1e8ef}.drag-bar{position:absolute;top:8px;height:36px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;background:#2563eb;color:#fff;font-size:12px;font-weight:700;border-radius:5px;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;white-space:nowrap;overflow:hidden}.drag-bar.moving{background:#e8a126;z-index:2;cursor:grabbing}.drag-board{min-width:0}.drag-row{height:62px}.drag-days{min-width:0}.drag-cells{overflow:hidden}.drag-bar{top:12px;height:38px;z-index:2;border-radius:5px}.milestone-file,.milestone-delivery{position:absolute;top:12px;height:38px;border-radius:5px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:10px;-webkit-user-select:none;user-select:none;white-space:nowrap;overflow:hidden}.milestone-file{background:#dc2626;z-index:1}.milestone-delivery{background:#16a34a;z-index:3;cursor:grab;touch-action:none}.milestone-delivery.moving{background:#e8a126;cursor:grabbing}.drag-team small{display:block;margin-top:6px;color:#64748b}.day-today{background:#eaf4ff!important}.drag-header .drag-days>div{min-height:45px}.drag-note{font-size:13px}.drag-section{padding:10px}.drag-section .section-head{margin:5px 0 9px}.drag-section .section-head h2{font-size:17px}.drag-note{padding:8px 10px;margin:8px 0;font-size:11px!important}.drag-header .sticky-name{position:sticky;left:0;z-index:9;background:#eaf1f8;box-shadow:2px 0 4px #64748b26}.drag-row .sticky-name{position:sticky;left:0;z-index:8;background:#fff;box-shadow:2px 0 4px #64748b26}.drag-name{padding:6px 8px;font-size:11px;overflow:hidden}.drag-name b,.drag-name small{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.drag-name small{font-size:10px;margin-top:3px}.drag-team{padding:6px;font-size:10px}.drag-team small{font-size:9px;margin-top:3px}.drag-row{height:42px}.drag-bar{top:7px;height:28px;font-size:10px}.milestone-file,.milestone-delivery{top:7px;height:28px;font-size:9px}.drag-header .drag-days>div{min-height:32px;padding:5px 0;font-size:9px}.drag-header .drag-name,.drag-header .drag-team{font-size:11px}.drag-cell{min-width:0}.export-stage{position:absolute;left:-20000px;top:0;pointer-events:none}.export-sheet{width:1110px;background:#fff;padding:16px;font:12px Arial,sans-serif;color:#243449}.export-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.export-heading strong{font-size:17px;color:#173f5b}.export-heading span{color:#607487}.export-table{border-collapse:collapse;width:100%;table-layout:fixed}.export-table th,.export-table td{border:1px solid #dbe4ed;padding:6px 2px;text-align:center;height:32px;font-size:10px}.export-table th{background:#eaf1f8}.export-table th small,.export-table td small{display:block;font-size:9px;color:#63778c;margin-top:3px}.export-table .export-room{width:210px;text-align:left;padding-left:8px}.export-table .export-team{width:115px}.export-file{background:#dc2626;color:#fff;font-weight:700}.export-production{background:#2563eb;color:#fff;font-weight:700}.export-delivery{background:#16a34a;color:#fff;font-weight:700}.export-today{background:#dbeafe!important}.export-foot{color:#607487;font-size:10px;margin-top:10px}.drag-section{padding:7px}.drag-section .section-head h2{font-size:15px}.drag-section .section-head p{font-size:10px}.drag-section .actions button{padding:5px 7px;font-size:10px}.drag-note{font-size:10px!important;padding:5px 7px;margin:5px 0}.drag-row{height:26px}.drag-name{padding:2px 5px;font-size:9px;line-height:11px}.drag-name small{font-size:8px;margin-top:1px;line-height:10px}.drag-team{padding:2px 4px;font-size:9px;min-width:0}.drag-team small{font-size:8px;margin-top:0;line-height:10px}.drag-bar{top:4px;height:18px;font-size:9px;border-radius:3px}.milestone-file,.milestone-delivery{top:4px;height:18px;font-size:7px;border-radius:3px}.drag-header .drag-days>div{min-height:25px;padding:3px 0;font-size:8px}.drag-header small{font-size:7px}.drag-header .drag-name,.drag-header .drag-team{font-size:9px}.drag-header .sticky-team{position:sticky;right:0;z-index:11;background:#eaf1f8;box-shadow:-2px 0 4px #64748b26}.drag-row .sticky-team{position:sticky;right:0;z-index:10;background:#fff;box-shadow:-2px 0 4px #64748b26}.team-select{display:block;width:100%;max-width:100%;height:18px;border:1px solid #d6e0ea;background:#fff;border-radius:3px;padding:0 1px;font-size:9px;color:#263f53;cursor:pointer}.drag-scroll{max-height:76vh;overflow:auto}.drag-header{position:sticky;top:0;z-index:12}.drag-header .sticky-name,.drag-header .sticky-team{z-index:13}.drag-row .sticky-name,.drag-row .sticky-team{z-index:8}.drag-bar,.milestone-delivery{min-width:0}.drag-section{padding:14px}.drag-section .section-head h2{font-size:18px}.drag-section .section-head p{font-size:12px}.drag-section .actions button{font-size:12px;padding:8px 11px}.drag-note{font-size:12px!important;padding:9px 12px;margin:10px 0}.drag-row{height:40px}.drag-name{padding:5px 9px;font-size:12px;line-height:15px}.drag-name b{font-size:12px;color:#16364c;font-weight:800}.drag-name small{font-size:11px;line-height:13px;margin-top:2px;color:#526a80}.drag-team{padding:5px 8px;font-size:11px}.drag-team small{font-size:10px;margin-top:2px}.drag-bar{top:7px;height:26px;font-size:11px;border-radius:5px}.milestone-file,.milestone-delivery{top:7px;height:26px;font-size:9px;border-radius:5px}.drag-header .drag-days>div{min-height:35px;padding:5px 0;font-size:10px}.drag-header small{font-size:9px}.drag-header .drag-name,.drag-header .drag-team{font-size:12px}.team-select{height:22px;font-size:10px}.drag-row .sticky-name,.drag-row .sticky-team{background:inherit}.drag-row{border-top:1px solid #cbd5e160}.drag-row:hover{outline:1px solid #8db7dc;outline-offset:-1px}.urgent-bar{background:#d97706}.off-bar{background:#b91c1c}.done-button{border:0;background:transparent;color:#24734e;font-size:9px;padding:0 2px;cursor:pointer;float:right}.weekly-panel{background:#fff;border:1px solid #dfe7ef;border-radius:12px;padding:20px}.weekly-grid{display:grid;gap:16px;margin-top:16px}.weekly-card{border:1px solid #dce6ee;border-radius:12px;overflow:hidden}.weekly-card-head{display:flex;align-items:center;justify-content:space-between;padding:14px 17px;background:#f1f6fa}.weekly-card-head h3{margin:0}.weekly-card-head span{font-size:12px;color:#64748b}.weekly-summary{display:flex;align-items:center;gap:18px;padding:18px}.weekly-summary>strong{font-size:36px;color:#176e9d}.weekly-summary>div{flex:1}.weekly-summary small{display:block;margin-top:5px;color:#64748b}.weekly-progress{background:#e5edf4;border-radius:99px;height:10px;overflow:hidden;margin-top:7px}.weekly-progress span{display:block;background:#1689b0;height:100%}.weekly-extra{padding:10px 16px;color:#64748b;font-size:12px}.weekly-empty{padding:25px;background:#f1f6fa;border-radius:9px;color:#64748b}.exception-dialog{max-width:570px}.export-v27{width:1110px;padding:18px}.export-gantt{border:1px solid #d6e1eb}.export-gantt-row{display:grid;grid-template-columns:240px 756px 112px;min-height:38px;border-bottom:1px solid #d6e1eb}.export-gantt-head{background:#eaf1f8;font-weight:700;min-height:42px}.export-gantt-name{padding:5px 9px;border-right:1px solid #d6e1eb;overflow:hidden}.export-gantt-name b,.export-gantt-name small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.export-gantt-name b{font-size:11px;color:#1e3a50}.export-gantt-name small{font-size:10px;color:#64748b;margin-top:3px}.export-gantt-team{padding:7px 5px;border-left:1px solid #d6e1eb;font-size:10px;display:flex;align-items:center;justify-content:center;text-align:center}.export-gantt-days,.export-gantt-grid{display:grid;grid-template-columns:repeat(15,minmax(0,1fr))}.export-gantt-days>div{border-right:1px solid #d6e1eb;text-align:center;padding:5px 0;font-size:9px}.export-gantt-days small{display:block;font-size:8px;color:#64748b}.export-gantt-track{position:relative;min-height:38px}.export-gantt-grid{position:absolute;top:0;right:0;bottom:0;left:0}.export-gantt-grid i{border-right:1px solid #d6e1eb}.export-chip{position:absolute;top:7px;height:24px;border-radius:4px;color:#fff;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;white-space:nowrap;overflow:hidden}.export-chip-file{background:#dc2626}.export-chip-prod{background:#2563eb}.export-chip-delivery{background:#16a34a;z-index:3}.export-chip-exception{background:#d97706}.export-foot{font-size:10px}.overlay{z-index:99999!important;isolation:isolate;overflow-y:auto;align-items:safe center}.overlay .dialog{position:relative;z-index:100000;max-height:calc(100vh - 40px);overflow-y:auto;box-shadow:0 24px 70px #061b3260}.urgent-bar,.export-chip-exception{background:#dc2626!important}.daily-notes{background:#fff;border:1px solid #dce6ef;border-radius:12px;margin-top:15px;padding:16px}.daily-notes h2{margin:0;font-size:17px;color:#163b58}.daily-notes p{font-size:12px;color:#66788a}.notes-list{display:grid;gap:6px}.note-item{display:flex;align-items:center;gap:12px;background:#f5f8fb;padding:9px 12px;border:1px solid #e1e9f0;border-radius:8px}.note-item input{width:16px;height:16px;flex:none}.note-date{font-size:12px;font-weight:700;white-space:nowrap;color:#204761}.note-date.overdue{color:#c12525}.note-content{flex:1;min-width:0}.note-content b{display:block;font-size:13px}.note-content small{display:block;font-size:11px;color:#657a8c;margin-top:3px}.note-done{opacity:.55}.note-done .note-content b{text-decoration:line-through}.note-item button{padding:3px 8px}.note-empty{padding:10px}.export-v27{width:1148px;padding:20px;background:#fff}.export-banner{background:#173653;color:#fff;border-radius:8px;padding:17px 20px;margin-bottom:13px;display:flex;justify-content:space-between;align-items:center}.export-banner small,.export-banner strong,.export-banner span{display:block}.export-banner small{font-size:10px;color:#b8d3e7;letter-spacing:1.4px}.export-banner strong{font-size:22px;margin:6px 0;letter-spacing:.3px}.export-banner span{font-size:12px;color:#d6e6f1}.export-banner-meta{text-align:right;font-size:12px;line-height:1.8;color:#d4e5f0}.export-gantt-row{grid-template-columns:248px 756px 102px;min-height:40px}.export-gantt-head{background:#e9f0f7}.export-gantt-name b{font-size:11px}.export-gantt-name small{font-size:10px}.export-notes{margin-top:18px;border:1px solid #dce5ee;border-radius:8px;overflow:hidden}.export-notes-title{background:#edf3f8;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;color:#1b3b54;font-size:13px}.export-notes-title span{font-size:11px;color:#64788b}.export-note{display:flex;align-items:center;gap:12px;padding:10px 13px;border-top:1px solid #e4eaf0;font-size:11px}.export-note:nth-child(odd){background:#f8fafc}.export-note-date{min-width:112px;font-weight:700;color:#bd3333}.export-note-main{flex:1;min-width:0}.export-note-main b{display:block;font-size:12px;overflow-wrap:anywhere}.export-note-main small{display:block;color:#60778a;margin-top:4px}.export-note-status{color:#64748b;white-space:nowrap}.export-note-empty{padding:14px;color:#64748b}.export-bottom{text-align:right;margin-top:11px;font-size:10px;color:#78889a}header{background:linear-gradient(115deg,#122c45,#1d5071);border-bottom:4px solid #6fb7d9;padding:22px 3%}header h1{font-size:23px;letter-spacing:.4px}header h1 small{display:inline-block;background:#ffffff20;border:1px solid #ffffff35;border-radius:20px;padding:3px 9px;margin-left:9px;vertical-align:middle;color:#d9eafa;font-weight:500}.poli-word{font-style:normal;color:#8cdbff;font-weight:900;letter-spacing:1px}nav{background:#fff;padding:8px;border:1px solid #e0e9f2;border-radius:12px;box-shadow:0 3px 12px #1a426009}nav button{border:0;font-weight:700;color:#31516a}nav button.active{box-shadow:0 4px 12px #14547a30}.section-head h2{color:#163d5b;letter-spacing:.3px}.project-header h3{color:#163d5b}.drag-header .drag-days>div{min-height:52px;padding:4px 0 2px;display:flex;align-items:center;flex-direction:column;gap:1px}.day-note-plus{display:block!important;width:24px;height:18px;padding:0!important;line-height:15px;border:1px solid #c3d7e7!important;border-radius:5px!important;color:#176c9b!important;background:#fff!important;font-size:12px!important;font-weight:800;position:relative;z-index:2}.day-note-plus:hover{background:#d7f0ff!important;border-color:#6cb8dd!important}.note-dialog{width:min(620px,96vw);max-width:620px}.day-notes-list{display:grid;gap:6px;max-height:40vh;overflow-y:auto;margin:12px 0;padding:4px}.day-note-item{display:flex;gap:10px;align-items:center;padding:10px;border:1px solid #e0e9f1;border-radius:8px;background:#f6f9fc}.day-note-item>input{width:17px;height:17px;flex:none}.day-note-item>button{padding:5px 9px;font-size:11px}.day-note-text{flex:1;min-width:0}.day-note-text b{display:block;overflow-wrap:anywhere}.day-note-text small{display:block;color:#687d8d;margin-top:4px}.note-form-title{margin:15px 0 9px;color:#163d5b;font-size:15px}.note-content{cursor:pointer}.note-content:hover b{color:#126da1;text-decoration:underline}.urgent-bar{background:#dc2626!important}.off-bar{background:#8f1d1d!important}.export-banner{background:linear-gradient(110deg,#153550,#245677)}.export-v27{border:1px solid #e1eaf1}.export-gantt-head{background:#e8f0f8}.export-note-date{min-width:115px}.brand-header{display:flex;align-items:center;gap:20px;min-width:0}.brand-logo{width:128px;height:70px;object-fit:contain;background:#fff;border-radius:10px;padding:5px;flex:none}.brand-header h1{font-weight:750;letter-spacing:.55px}.brand-header h1 small{font-weight:500}.export-banner-brand{display:flex;align-items:center;gap:18px}.export-logo{width:105px;height:64px;object-fit:contain;background:#fff;border-radius:6px;padding:4px;flex:none}.note-day-group{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;border:1px solid #dce7f0;border-radius:10px;background:#f6f9fc;padding:10px;margin-bottom:8px}.note-day-label{padding:9px 4px;color:#173d5c;display:flex;flex-direction:column;gap:5px}.note-day-label b{font-size:14px}.note-day-label small{font-size:11px;color:#6d7e90}.note-day-label .overdue{color:#c72a2a}.note-day-tasks{display:grid;gap:6px}.note-day-tasks .note-item{margin:0;background:#fff;padding:9px 12px}.export-note-day{display:grid;grid-template-columns:122px minmax(0,1fr);border-top:1px solid #e4eaf0}.export-note-day-label{padding:12px 13px;color:#b52c2c;font-weight:700;font-size:11px;background:#f5f8fc}.export-note-day-tasks .export-note{border-top:0;border-bottom:1px solid #edf1f5}.export-note-day-tasks .export-note:last-child{border-bottom:0}@media(max-width:760px){.brand-header{gap:10px}.brand-logo{width:88px;height:55px}.brand-header h1{font-size:16px}.note-day-group{grid-template-columns:65px minmax(0,1fr);gap:5px}.export-logo{width:80px}}.poli-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;background:transparent;border:0;padding:0;box-shadow:none;margin:0 0 14px}.poli-tabs .poli-tab{display:flex;align-items:center;gap:12px;min-height:72px;padding:12px 14px;border:1px solid #d8e4ef;border-left:5px solid #a7bacb;border-radius:12px;background:#fff;text-align:left;box-shadow:0 3px 9px #173d5b0b;transition:box-shadow .15s,transform .15s}.poli-tabs .poli-tab:nth-child(1){border-left-color:#2267a5}.poli-tabs .poli-tab:nth-child(2){border-left-color:#008e82}.poli-tabs .poli-tab:nth-child(3){border-left-color:#d48421}.poli-tabs .poli-tab:nth-child(4){border-left-color:#8558a6}.poli-tabs .poli-tab:hover{transform:translateY(-1px);box-shadow:0 6px 14px #173d5b20}.poli-tabs .poli-tab.active{background:#173a5a;color:#fff;border-color:#173a5a;box-shadow:0 7px 17px #173a5a36}.poli-tab-number{display:grid;place-items:center;flex:none;width:38px;height:38px;background:#edf3f9;border-radius:9px;font-weight:900;font-size:16px;color:#234c6d}.poli-tab.active .poli-tab-number{background:#fff;color:#173a5a}.poli-tab-name{font-weight:800;font-size:12px;line-height:1.5;flex:1}.poli-tab-arrow{font-size:23px;opacity:.6}.poli-data-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;padding:12px 16px;background:#fff;border:1px solid #dae6f0;border-radius:10px}.poli-data-tools>div:first-child{display:flex;flex-direction:column;gap:4px}.poli-data-tools b{font-size:12px;color:#173a5a}.poli-data-tools small{font-size:11px;color:#697e90}.poli-data-actions{display:flex;gap:8px;flex-wrap:wrap}.poli-recovery-warning{background:#fff5e8;border:1px solid #f2cb92;color:#7b4b0e;padding:12px 16px;border-radius:10px;margin-bottom:14px;line-height:1.6}@media(max-width:1050px){.poli-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.poli-tabs{grid-template-columns:1fr}.poli-data-tools{flex-direction:column;align-items:stretch}}.outsourced-panel{background:#fff;border:1px solid #dbe4ef;border-radius:16px;padding:22px;margin-top:20px;box-shadow:0 6px 24px #102a4310}.out-form{display:grid;grid-template-columns:2fr 1.5fr 1fr auto;gap:12px;align-items:end;padding:18px;background:#f2f6fb;border-radius:12px;margin:14px 0 20px}.out-form label{display:flex;flex-direction:column;gap:7px;font-weight:650;font-size:13px}.out-form input,.out-form select{width:100%;min-height:40px;padding:8px;border:1px solid #cbd5e1;border-radius:8px;background:#fff}.out-actions{display:flex;gap:7px;flex-wrap:wrap}@media(max-width:950px){.out-form{grid-template-columns:1fr 1fr}.out-actions{grid-column:1/-1}}@media(max-width:600px){.out-form{grid-template-columns:1fr}}@media(min-width:851px){.poli-tabs{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.poli-tabs .poli-tab{min-width:0;gap:8px;padding:10px 9px;min-height:72px}.poli-tab-number{width:32px;height:34px;font-size:14px}.poli-tab-name{font-size:11px;line-height:1.35;overflow-wrap:anywhere}.poli-tab-arrow{font-size:17px}}.poli-tabs .poli-tab:nth-child(5){border-left-color:#ba5b73}.team-expand,.ps-detail-btn{border:1px solid #cbd5e1;background:#f1f5f9;border-radius:6px;padding:5px 9px;cursor:pointer;color:#1e3a5f;font-weight:650}.team-detail-row td{background:#f8fafc!important;padding:10px 18px!important}.team-room-list{display:grid;gap:7px;font-size:13px}.team-completed{color:#16803d;font-size:11px;margin-left:6px}.ps-detail-btn{font-size:11px;margin-top:3px;max-width:100%;white-space:nowrap}.ps-dialog{max-width:650px;max-height:90vh;overflow:auto}.ps-items{max-height:250px;overflow:auto;display:grid;gap:6px;margin:12px 0}.ps-item{display:flex;align-items:center;gap:8px}.ps-item input[type=text],.ps-item input:not([type]){flex:1;min-width:0}.ps-item-done{text-decoration:line-through;color:#64748b}.ps-add-row{display:flex;gap:8px;margin:12px 0}.ps-add-row input{flex:1;min-width:0}.ps-paste-label{display:grid;gap:6px;margin:12px 0}.ps-paste-label textarea,.exception-dialog textarea{width:100%;box-sizing:border-box;resize:vertical}.ps-original{margin-top:14px}.ps-original pre{white-space:pre-wrap;word-break:break-word;padding:12px;background:#f1f5f9;border-radius:8px}.overlay{z-index:9999!important}.ps-day-list{display:grid;gap:10px;margin:10px 0}.ps-day-card{border:1px solid #f3c7c7;background:#fff8f8;border-radius:10px;padding:12px;display:grid;gap:8px}.ps-day-card>small{color:#64748b}.ps-day-task{display:flex;align-items:center;gap:9px;font-size:13px}.ps-day-task input{width:16px;height:16px}.ps-day-card button{justify-self:start}.ps-inline-row td{background:#f3f7fb!important;padding:12px 18px!important}.ps-inline-content{display:flex;flex-direction:column;align-items:flex-start;gap:10px;max-width:780px}.ps-inline-head{display:flex;justify-content:space-between;gap:20px;width:100%;color:#173c5b}.ps-inline-content .ps-day-task{display:flex;align-items:center;gap:9px;cursor:pointer}.ps-inline-content button{margin-top:5px}.drag-header .drag-days>.day-header-cell{box-sizing:border-box;min-height:51px;height:51px;padding:3px 0 2px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:0;overflow:visible;font-weight:600;line-height:1.15}.drag-header .drag-days>.day-header-cell .day-header-date{font-size:9px;white-space:nowrap;letter-spacing:-.25px;color:#29465f}.drag-header .drag-days>.day-header-cell .day-header-weekday{display:block;margin-top:1px;font-size:8px;line-height:9px;color:#71859a;font-weight:500}.drag-header .drag-days>.day-header-cell.day-today{background:#dceeff!important;box-shadow:inset 0 -2px #2478bb}.drag-header .drag-days>.day-header-cell .day-note-plus{display:inline-flex!important;align-items:center;justify-content:center;gap:2px;width:auto;max-width:calc(100% - 2px);min-width:16px;height:17px;min-height:17px;margin-top:2px;padding:0 2px!important;background:transparent!important;border:0!important;border-radius:4px!important;color:#27688e!important;font-size:11px!important;line-height:15px!important;box-shadow:none!important;cursor:pointer}.drag-header .drag-days>.day-header-cell .day-note-plus:hover,.drag-header .drag-days>.day-header-cell .day-note-plus:focus-visible{background:#c8e5f8!important;outline:1px solid #a5cde7}.day-note-plus-icon{font-size:13px;font-weight:700;line-height:13px}.day-note-count{font-size:9px;font-weight:700;color:#176a9b;line-height:13px;white-space:nowrap;font-variant-numeric:tabular-nums}.day-header-cell{position:relative}.outsourced-day-dot{position:absolute;top:0;left:50%;transform:translate(-50%);border:0;background:transparent;color:#e49b22;font-size:12px;line-height:12px;padding:0 5px;cursor:pointer;z-index:2}.outsourced-day-dot:hover{color:#b96a0a}.drag-header .drag-days>.day-header-cell{height:69px;min-height:69px}.outsourced-day-dots{height:18px;min-height:18px;width:100%;display:grid;grid-template-columns:repeat(3,6px);grid-auto-rows:7px;gap:1px 3px;align-content:center;justify-content:center;overflow:visible}.outsourced-day-dots .outsourced-day-dot{position:static;transform:none;display:block;width:6px;height:7px;min-width:0;min-height:0;padding:0;border:0;background:none;color:#e49b22;font-size:11px;line-height:6px;cursor:pointer}.outsourced-dot-more{font-size:8px;color:#aa680c;line-height:8px;white-space:nowrap}.export-ps-group{padding:7px 10px;background:#fff7f7;border-left:3px solid #dc2626;margin:4px 0 7px;border-radius:3px}.export-ps-head{display:flex;flex-direction:column;gap:2px;font-size:12px;color:#872525}.export-ps-head small{font-size:9px;color:#607286}.export-ps-children{margin:5px 0 0 13px;padding-left:9px;border-left:1px solid #e9c9c9}.export-ps-child{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:10px;border-bottom:1px solid #f1e5e5}.export-ps-child span:last-child{white-space:nowrap;color:#7a8795;font-size:9px}.export-note-day-tasks .export-note{border-radius:7px;margin:4px 7px;padding:9px 11px;border:1px solid #dce5ef;gap:10px;align-items:flex-start;break-inside:avoid}.export-note-day-tasks .export-note:nth-child(odd){background:inherit}.export-note-icon{display:flex;align-items:center;justify-content:center;flex:none;width:25px;height:25px;border-radius:5px;background:#64748b;color:#fff;font-weight:800;font-size:14px}.export-note-category{display:block;font-size:9px;letter-spacing:.25px;margin-bottom:3px}.export-note-transport{background:#eaf8ed!important;border-color:#cdebd2!important}.export-note-transport .export-note-icon{background:#079455}.export-note-transport .export-note-category{color:#067647}.export-note-partner{background:#fff3e6!important;border-color:#ffddbd!important}.export-note-partner .export-note-icon{background:#ed7100}.export-note-partner .export-note-category{color:#b94f00}.export-note-receiving{background:#f1edff!important;border-color:#e1d7ff!important}.export-note-receiving .export-note-icon{background:#8452d8}.export-note-receiving .export-note-category{color:#7139c0}.export-note-general{background:#f0f5fa!important;border-color:#dce6f0!important}.export-note-general .export-note-category{color:#496584}.export-note-day-tasks .export-ps-group{background:#fff0f1;border:1px solid #ffd3d6;border-left:3px solid #ed4b55;border-radius:8px;margin:5px 7px 9px;padding:10px 12px;break-inside:avoid}.export-note-day-tasks .export-ps-head b{font-size:13px;color:#b4232c}.export-note-day-tasks .export-ps-head small{font-size:10px}.export-note-day-tasks .export-ps-children{border-left:2px solid #f4a3a9;padding-left:13px;margin-top:8px}.export-note-day-tasks .export-ps-child{padding:6px 0;font-size:11px}.note-day-tasks .note-item.note-color-transport{background:#eaf8ed;border-color:#cdebd2}.note-day-tasks .note-item.note-color-partner{background:#fff3e6;border-color:#ffddbd}.note-day-tasks .note-item.note-color-receiving{background:#f1edff;border-color:#e1d7ff}.note-day-tasks .note-item.note-color-general{background:#f0f5fa;border-color:#dce6f0}.note-type-label{display:block;font-size:10px;color:#496584;margin-bottom:3px}.note-color-transport .note-type-label{color:#067647}.note-color-partner .note-type-label{color:#b94f00}.note-color-receiving .note-type-label{color:#7139c0}.note-ps-group{background:#fff0f1;border:1px solid #ffd3d6;border-left:4px solid #ed4b55;border-radius:9px;padding:12px;min-width:0}.note-ps-heading{display:flex;gap:12px;align-items:center;justify-content:space-between}.note-ps-heading>div{flex:1}.note-ps-heading b{display:block;color:#b4232c;font-size:14px}.note-ps-heading small{display:block;color:#697586;margin-top:4px}.note-ps-heading span{white-space:nowrap;font-size:11px;color:#b4232c}.note-ps-children{border-left:2px solid #f4a3a9;margin:10px 0 0 8px;padding-left:14px}.note-ps-child{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid #f9dce0;font-size:12px}.note-ps-child:last-child{border-bottom:0}.note-ps-child input{width:16px;height:16px;flex:none}.drag-row.ps-drop-target{box-shadow:inset 0 3px #7c3aed}.note-day-group{grid-template-columns:72px minmax(0,1fr);gap:7px;padding:5px 7px;margin-bottom:4px;border-radius:6px}.note-day-label{padding:4px 2px;gap:2px}.note-day-label b{font-size:12px}.note-day-label small{font-size:10px}.note-day-tasks{gap:3px}.note-day-tasks .note-item{padding:4px 7px;gap:7px;border-radius:5px;min-height:0}.note-day-tasks .note-item input[type=checkbox]{width:14px;height:14px;flex:none}.note-day-tasks .note-item button{padding:2px 5px;font-size:11px}.note-content{line-height:1.2}.note-content b{font-size:11px}.note-content small{font-size:9px;margin-top:1px}.note-type-label{font-size:8px;margin-bottom:1px;letter-spacing:0}.note-ps-group{padding:6px 8px;border-left-width:3px;border-radius:6px}.note-ps-heading{gap:6px}.note-ps-heading b{font-size:11px}.note-ps-heading small{font-size:9px;margin-top:1px}.note-ps-heading span{font-size:9px}.note-ps-heading button{padding:3px 6px;font-size:10px}.note-ps-children{margin:4px 0 0 5px;padding-left:8px}.note-ps-child{font-size:10px;padding:3px 0;gap:6px}.note-ps-child input{width:13px;height:13px}.export-notes{margin-top:8px}.export-notes-title{padding:7px 10px;font-size:11px}.export-note-day{grid-template-columns:88px minmax(0,1fr)}.export-note-day-label{padding:6px 8px;font-size:10px}.export-note-day-tasks .export-note{margin:2px 4px;padding:4px 6px;gap:6px;border-radius:4px}.export-note-icon{width:17px;height:17px;font-size:10px}.export-note-category{font-size:8px;margin-bottom:1px}.export-note-main b{font-size:10px;line-height:1.15}.export-note-main small{font-size:8px;margin-top:1px}.export-note-day-tasks .export-ps-group{margin:3px 4px;padding:5px 7px;border-radius:5px}.export-note-day-tasks .export-ps-head b{font-size:10px}.export-note-day-tasks .export-ps-head small{font-size:8px}.export-note-day-tasks .export-ps-children{margin-top:3px;padding-left:7px}.export-note-day-tasks .export-ps-child{padding:2px 0;font-size:9px}.ps-mode-edit{display:flex;flex-wrap:wrap;gap:10px;align-items:end;padding:9px;background:#f3f7fc;border-radius:6px;margin:8px 0}.ps-mode-edit label{display:grid;gap:3px;font-size:12px;font-weight:700}.ps-mode-edit select,.ps-mode-edit input{padding:7px;border:1px solid #cbd5e1;border-radius:5px}.ps-mode-edit small{width:100%;color:#64748b}.poli-viewer-notice{background:#fff5d9;border:1px solid #eac16c;border-radius:8px;padding:10px 14px;margin:12px 0;font-weight:700;color:#7c520b}.poli-readonly .import-button{display:none}.drag-header .drag-days>.day-header-cell.day-today{background:#ffe4e6!important;box-shadow:inset 0 -2px #dc2626!important}.drag-header .drag-days>.day-header-cell.day-today .day-header-date{color:#b91c1c!important;font-weight:800}.drag-header .drag-days>.day-header-cell.day-today .day-header-weekday{color:#be123c!important;font-weight:700}.drag-cells>.drag-cell.day-today{background:transparent!important}.daily-notes .note-item,.daily-notes .note-item.note-done,.day-notes-list .day-note-item{opacity:1}.daily-notes .note-item .note-content b,.day-notes-list .day-note-item .day-note-text b{text-decoration:none}.export-gantt-days>div.export-today{background:#ffe5e5!important;color:#c62828!important}.export-gantt-days>div.export-today small{color:#c62828!important}.export-gantt-grid i{background:transparent!important}.sv-page{font-family:Arial,sans-serif;max-width:640px;margin:0 auto;padding:16px 12px 40px;color:#1e293b;background:#f4f7fb;min-height:100vh}.sv-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.sv-top strong{display:block;color:#173c63;font-size:19px}.sv-top small{display:block;color:#64748b;margin-top:5px}.sv-top button{border:1px solid #cbd5e1;border-radius:8px;padding:9px;background:#fff}.sv-panel{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:20px;margin-bottom:16px;box-shadow:0 3px 15px #1725540a}.sv-panel h2{font-size:21px;margin:0 0 8px}.sv-panel h3{margin:0 0 12px}.sv-panel p{line-height:1.5;color:#64748b;font-size:14px}.sv-panel form{display:flex;flex-direction:column;gap:9px}.sv-panel label{font-size:14px;font-weight:700;margin-top:10px}.sv-panel select,.sv-panel textarea{box-sizing:border-box;width:100%;min-height:44px;padding:11px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#172033;font:inherit}.sv-panel textarea{resize:vertical}.sv-submit{background:#175cd3!important;color:#fff!important;border:0;border-radius:10px;min-height:48px;margin-top:12px;font-weight:700;cursor:pointer}.sv-submit:disabled{opacity:.55}.sv-error,.sv-success{padding:12px;border-radius:9px;font-size:14px}.sv-error{background:#fff1f2;color:#be123c}.sv-success{background:#ecfdf5;color:#047857}.sv-history{border-top:1px solid #e2e8f0;padding:14px 0}.sv-history>div{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.sv-history span{white-space:nowrap;background:#fff7ed;color:#9a3412;border-radius:12px;padding:4px 8px;font-size:12px}.sv-history small{color:#64748b}.sv-history p{white-space:pre-wrap;overflow-wrap:anywhere;margin:7px 0 0}@media(max-width:480px){.sv-panel{padding:15px}.sv-page{padding:12px 9px}}.review-panel{background:#fff;border:1px solid #d7e2ec;border-radius:12px;padding:16px;margin:16px 0}.review-item{border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc;padding:14px;margin:12px 0}.review-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.review-meta span{color:#64748b;font-size:13px}.review-item label{display:block;font-weight:600;font-size:13px}.review-item textarea{box-sizing:border-box;display:block;width:100%;padding:10px;margin:7px 0 12px;border:1px solid #cbd5e1;border-radius:8px;font:inherit}.review-actions{display:flex;justify-content:flex-end;gap:8px}.review-actions button{padding:10px 15px}@media(max-width:650px){.review-panel{padding:10px}.review-actions{flex-wrap:wrap}}.sv-page{max-width:720px;background:#f3f7fd;font-family:system-ui,-apple-system,Arial,sans-serif}.sv-top{background:#fff;border-radius:15px;padding:13px 16px;box-shadow:0 2px 14px #173c6310}.sv-panel{border-radius:20px;padding:22px;box-shadow:0 7px 22px #1d396010}.sv-hero{display:flex;align-items:center;gap:13px;background:linear-gradient(115deg,#eaf5ff,#f8fcff);margin:-22px -22px 18px;padding:22px;border-radius:20px 20px 0 0}.sv-hero h2{margin:0 0 4px;font-size:21px}.sv-hero small{color:#58718e;line-height:1.4}.sv-hero-icon{background:#1c64dc;color:#fff;font-size:26px;padding:12px 17px;border-radius:13px}.sv-helmet{font-size:34px;margin-left:auto}.sv-panel select,.sv-panel textarea{border-radius:12px}.sv-panel textarea{min-height:150px}.sv-priority-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:5px}.sv-priority{border:1px solid #cbd5e1;border-radius:13px;background:#fff;color:#24405f;text-align:left;padding:13px;font-weight:800;cursor:pointer}.sv-priority small{display:block;font-weight:400;margin-top:5px;color:#64748b}.sv-priority.active{border:2px solid #2563eb;background:#eaf3ff;color:#1d4ed8}.sv-priority.urgent.active{border-color:#ef4444;background:#fff0f0;color:#b91c1c}.sv-submit{background:linear-gradient(110deg,#1d64e8,#0c50cc)!important;box-shadow:0 5px 15px #1554d62b}.sv-history-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}.sv-history-head h3{margin:0}.sv-history-head select{width:auto;min-width:125px}.sv-history-panel .sv-history{border:1px solid;border-left:6px solid;border-radius:14px;padding:15px;margin:12px 0;box-shadow:0 2px 8px #1e293b08}.sv-history.sv-status-pending{background:#fff0de;border-color:#f8d5a9;border-left-color:#f59e0b;color:#9a4305}.sv-history.sv-status-rejected{background:#ffebee;border-color:#fecdd3;border-left-color:#ef334e;color:#a8152a}.sv-history.sv-status-approved{background:#e8f9ed;border-color:#b9ebc9;border-left-color:#16a34a;color:#086c31}.sv-history>div{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.sv-history>div>b{font-size:14px}.sv-history .sv-status-pill{border-radius:999px;padding:5px 9px;background:#fffa;white-space:nowrap;font-weight:800;font-size:12px}.sv-history small{display:block;margin-top:7px;color:#536578}.sv-history ul{padding-left:20px;margin:9px 0 0;color:#26384f;font-size:13px;line-height:1.7}.poli-bell{border:1px solid #b6d0e8!important;background:#eef6ff!important;color:#244c6e!important;font-weight:800;border-radius:10px;padding:10px 13px;cursor:pointer}.poli-bell-active{background:#dc2626!important;border-color:#f87171!important;color:#fff!important;box-shadow:0 0 0 4px #fca5a52b}.review-panel-v58{border:1px solid #d7e4f3;border-radius:15px;padding:18px;margin:14px 0;background:#f8fbff}.review-panel-v58.has-pending{border-color:#fca5a5;background:#fff7f7}.review-panel-v58 .section-head h2{color:#a11b29}.review-count{background:#dc2626;color:#fff;padding:4px 10px;border-radius:20px;font-size:14px}.review-item-v58{border-left:5px solid #ef4444!important;background:#fff!important;border-radius:12px;margin:12px 0;padding:15px!important}.review-pending-pill{background:#fff0db;color:#b45309;border-radius:20px;padding:6px 10px;font-size:12px;font-weight:800}.review-sender{background:#eef5fd;border-radius:9px;padding:11px;margin:12px 0;display:flex;flex-direction:column;gap:6px}.review-sender a{color:#0756b2;font-weight:800}.review-sender details{font-size:12px;margin-top:4px}.review-sender summary{cursor:pointer;color:#365b7f}.review-profile-fields{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.review-profile-fields input{min-width:150px;flex:1;padding:9px;border:1px solid #cad7e6;border-radius:8px}.review-profile-fields button{padding:8px;border:1px solid #bdd1e6;border-radius:8px;background:#fff}@media(max-width:600px){.sv-panel{padding:16px}.sv-hero{margin:-16px -16px 16px;padding:16px}.sv-helmet{display:none}.sv-history>div{flex-direction:column}.header-right{flex-wrap:wrap}.poli-bell{font-size:12px}}.sv-profile-card{margin-bottom:15px;border:1px solid #b8d9ff;background:linear-gradient(115deg,#f1f8ff,#fff)}.sv-profile-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.sv-profile-heading h3{margin:0 0 4px;color:#173b61}.sv-profile-heading small{color:#637a90}.sv-profile-heading button{background:#fff;border:1px solid #b8d1eb;border-radius:9px;padding:9px;color:#1c5a95}.sv-profile-form{display:grid;gap:8px;margin-top:12px}.sv-profile-form label{font-weight:700}.sv-profile-form input{width:100%;border:1px solid #c7d6e6;border-radius:10px;padding:12px;font:inherit}.sv-profile-form button{margin-top:8px;padding:12px;border-radius:10px}.sv-profile-ready{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;align-items:center}.sv-profile-ready a{color:#1160b0;font-weight:700}.sv-profile-card .sv-error{margin-top:12px}.sv-top-brand{display:flex;align-items:center;gap:11px;min-width:0}.sv-top-logo{display:block;width:54px;height:54px;object-fit:contain;border-radius:9px;flex-shrink:0}.sv-top-brand strong{font-size:clamp(13px,3.6vw,19px);line-height:1.2}.sv-top>button{flex-shrink:0}@media(max-width:380px){.sv-top{padding:10px}.sv-top-logo{width:44px;height:44px}.sv-top-brand{gap:7px}.sv-top>button{padding:7px;font-size:12px}}.ps-supervisor-contact,.ps-manager-contact{padding:13px 15px;border-radius:10px;margin:12px 0 15px;border:1px solid #b8d7f1;background:#eef6ff;color:#153d5b}.ps-manager-contact{background:#f5f7fa;border-color:#dbe2ea;color:#3c4d5c}.ps-supervisor-contact strong,.ps-manager-contact strong{display:block;font-size:13px;margin-bottom:7px}.ps-supervisor-contact p{margin:6px 0;font-size:14px}.ps-supervisor-contact a{font-weight:700;color:#0764ad;text-decoration:underline}.ps-supervisor-contact small,.ps-manager-contact small{display:block;font-size:12px;margin-top:6px;color:#60788d}.ps-sender-inline{display:flex;flex-wrap:wrap;align-items:center;gap:5px 16px;margin-top:5px;font-size:12px;color:#194568;font-weight:500}.ps-sender-inline a{color:#0965a7;font-weight:700;text-decoration:underline}.ps-sender-export{font-size:11px;line-height:1.4;color:#194568}.note-ps-heading>div,.export-ps-head{min-width:0}.sv-history{touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.sv-hold-hint{font-size:13px;color:#66788a;margin:4px 0 14px}.sv-delete-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#08162a8a;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}.sv-delete-dialog{background:#fff;color:#233247;border-radius:18px;padding:24px;max-width:420px;width:100%;box-shadow:0 15px 50px #0003}.sv-delete-dialog h3{margin:0 0 10px;font-size:21px}.sv-delete-dialog p{line-height:1.55;margin:0 0 20px}.sv-delete-actions{display:flex;gap:12px;justify-content:flex-end}.sv-delete-actions button{padding:12px 18px;border-radius:10px;border:1px solid #d5dee8;background:#fff;font-size:16px}.sv-delete-actions .sv-delete-confirm{background:#dc2626;border-color:#dc2626;color:#fff;font-weight:700}.note-day-tasks .note-item.note-color-filedesk{background:#e6f6fb;border-color:#bfe6f2}.note-color-filedesk .note-type-label{color:#0b6b8a}.export-note-filedesk{background:#e6f6fb!important;border-color:#bfe6f2!important}.export-note-filedesk .export-note-icon{background:#0e7fa3}.export-note-filedesk .export-note-category{color:#0b6b8a}.fd-card{border:1px solid #e2e8f0;border-left:5px solid #0e7fa3;border-radius:12px;padding:12px 14px;margin:0 0 12px;background:#fff}.fd-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.fd-head b{font-size:15px;color:#173c63}.fd-pill{font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;white-space:nowrap}.fd-pill.open{background:#fff3e6;color:#b94f00}.fd-pill.ok{background:#eaf8ed;color:#067647}.fd-note{background:#f4f7fb;border-radius:8px;padding:8px 10px;margin:8px 0;color:#334155;font-size:14px;white-space:pre-wrap}.fd-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid #eef2f7;flex-wrap:wrap}.fd-item input[type=checkbox]{width:22px;height:22px;flex:0 0 auto}.fd-item input[type=date]{border:1px solid #cbd5e1;border-radius:8px;padding:6px;font-size:13px}.fd-text{flex:1 1 160px;min-width:0;font-size:14px}.fd-text small{color:#067647}.fd-item.done .fd-text{text-decoration:line-through;color:#64748b}.fd-item.late .fd-text,.fd-item.late .fd-due{color:#b42318;font-weight:700}.fd-due{color:#64748b;font-size:12px}.fd-x{border:1px solid #fecaca;background:#fff5f5;color:#b42318;border-radius:8px;width:30px;height:30px;cursor:pointer}.fd-add{display:flex;gap:8px;margin-top:8px}.sv-panel .fd-add{flex-direction:row}.fd-add input{flex:1;min-width:0;border:1px solid #cbd5e1;border-radius:8px;padding:9px;font-size:14px}.fd-chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.fd-chips button,.fd-chip-del{border:1px solid #bfe6f2;background:#e6f6fb;color:#0b6b8a;border-radius:999px;padding:6px 11px;font-size:13px;cursor:pointer}.fd-chip-del button{border:0;background:transparent;color:#b42318;margin-left:6px;cursor:pointer}.fd-reload{margin:6px 8px 0 0;border:1px solid #cbd5e1;background:#fff;border-radius:8px;padding:8px 12px;cursor:pointer}.fd-filter{margin:10px 0}.fd-text .fd-late{color:#b42318;font-weight:700}.fd-picklist{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:6px 0}.sv-panel label.fd-pick{display:flex;align-items:center;gap:10px;margin:0;padding:12px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;font-weight:600;cursor:pointer;min-height:48px}.fd-pick.on{background:#e6f6fb;border-color:#0e7fa3;color:#0b6b8a}.fd-pick input{width:22px;height:22px;flex:0 0 auto}.fd-pickbar{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 6px}.fd-pickbar button{border:1px solid #cbd5e1;background:#fff;border-radius:8px;padding:7px 11px;font-size:13px;cursor:pointer}.rp-filter{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:8px 0 12px}.sv-panel label.rp-check{display:flex;align-items:center;gap:8px;margin:0;font-weight:600}.rp-project h4{margin:16px 0 8px;color:#173c63;font-size:16px}.rp-room{border:1px solid #e2e8f0;border-radius:12px;padding:12px;margin:0 0 10px;background:#fff}.rp-room.dirty{border-color:#0e7fa3;box-shadow:0 0 0 2px #0e7fa322}.rp-room-head{display:flex;justify-content:space-between;gap:8px;align-items:baseline;flex-wrap:wrap}.rp-room-head small{color:#64748b}.rp-pct{display:flex;align-items:center;gap:12px;margin:8px 0}.rp-pct b{font-size:26px;min-width:68px;color:#0b6b8a}.rp-pct input[type=range]{flex:1;height:32px}.rp-quick{display:flex;gap:6px;flex-wrap:wrap}.rp-quick button{flex:1;min-width:52px;border:1px solid #cbd5e1;background:#fff;border-radius:8px;padding:9px 0;font-weight:700;cursor:pointer}.rp-quick button.on{background:#0e7fa3;border-color:#0e7fa3;color:#fff}.rp-note-input{box-sizing:border-box;width:100%;margin-top:8px;border:1px solid #cbd5e1;border-radius:8px;padding:10px;font-size:14px}.rp-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:8px}.rp-actions small{color:#64748b}.rp-actions button{min-width:90px}.rp-cell{min-width:170px;display:flex;flex-direction:column;gap:3px}.rp-line{display:flex;align-items:center;gap:6px;font-size:12px}.rp-line span{width:48px;color:#475569}.rp-line b{min-width:36px;text-align:right}.rp-bar{flex:1;height:8px;border-radius:99px;background:#e2e8f0;overflow:hidden}.rp-bar i{display:block;height:100%;background:#0e7fa3}.rp-bar i.full{background:#16a34a}.rp-line.none em{color:#94a3b8}.rp-cell small{color:#64748b;font-size:11px}.rp-cell small.rp-note{color:#b45309}.room-table td{vertical-align:middle}.room-table .row-actions{white-space:nowrap}.room-table tr.room-open>td{background:#f5fafd}.file-sent{display:inline-block;background:#eaf8ed;color:#067647;border:1px solid #cdebd2;border-radius:999px;padding:4px 10px;font-weight:700;font-size:12px;white-space:nowrap}.file-wait{display:inline-block;background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0;border-radius:999px;padding:4px 10px;font-size:12px;white-space:nowrap}.pbar{min-width:200px;display:flex;flex-direction:column;gap:3px}.pbar-track{position:relative;height:24px;border-radius:7px;background:#e8eef5;overflow:hidden}.pbar-track i{position:absolute;left:0;top:0;bottom:0;background:#2267a5;border-radius:7px 0 0 7px}.pbar-track span{position:relative;z-index:1;display:block;line-height:24px;padding:0 9px;font-size:13px;font-weight:800;color:#0f2a44}.pbar-mid .pbar-track i{background:#5b9bd5}.pbar-low .pbar-track i{background:#f0a24a}.pbar-full .pbar-track i{background:#22a35a;border-radius:7px}.pbar-full .pbar-track span{color:#fff}.pbar-late .pbar-track{background:#fde8e8}.pbar-late .pbar-track i{background:#e05252}.pbar-none .pbar-track span{font-weight:500;color:#94a3b8;font-style:italic}.pbar small{font-size:11px;color:#64748b}.pbar small.pbar-late{color:#b42318;font-weight:700}.pbar small.pbar-note{color:#b45309}.room-detail-row>td{background:#f5fafd;padding:10px 14px 14px!important}.room-detail{display:flex;flex-direction:column;gap:10px}.listing.mini{background:#fff;border-radius:8px}.listing.mini th,.listing.mini td{padding:8px 10px;font-size:13px}details.room-sub{background:#fff;border:1px solid #dbe7f1;border-radius:10px;padding:8px 12px}details.room-sub>summary{cursor:pointer;font-weight:700;color:#173c63;padding:4px 0}details.room-sub[open]>summary{margin-bottom:8px}details.project-sub{margin:10px 16px}details.fd-templates{margin:6px 0 18px}.note-day-tasks .note-item.note-color-shoplate{background:#fff1f0;border-color:#ffccc7}.note-color-shoplate .note-type-label{color:#b42318}.export-note-shoplate{background:#fff1f0!important;border-color:#ffccc7!important}.export-note-shoplate .export-note-icon{background:#d92d20}.export-note-shoplate .export-note-category{color:#b42318}.rp-banner{display:flex;flex-direction:column;gap:6px;background:#fff1f0;border:1px solid #ffccc7;border-radius:12px;padding:12px;margin:8px 0}.rp-banner b{color:#b42318}.rp-banner span{font-size:13px;color:#7a271a}.rp-banner button{align-self:flex-start;border:1px solid #f5a3a3;background:#fff;color:#b42318;border-radius:8px;padding:7px 11px;font-weight:700;cursor:pointer}.rp-room.need{border-color:#f5a3a3;background:snow}.rp-need-tag{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:6px;font-size:12px}.rp-need-tag b{color:#b42318}.rp-need-tag .bad{color:#b42318;font-weight:700}.rp-need-tag .ok{color:#067647;font-weight:700}.pbar-row{display:flex;align-items:center;gap:8px}.pbar-row .pbar-track{flex:1;height:22px;border-radius:7px;background:#f1e6e6}.pbar-row .pbar-track i{border-radius:7px}.pbar-row b{min-width:42px;font-weight:800;color:#7f1d1d;font-size:14px}.days-edit{display:flex!important;align-items:center;gap:5px;font-size:12px;color:#64748b;margin-top:4px;font-weight:600}.days-edit input{width:58px;padding:4px 6px;border:1px solid #cbd5e1;border-radius:6px;font-size:13px;font-weight:700;color:#0f2a44}.drag-name .drag-proj{color:#94a3b8;font-size:10px;margin:0 0 2px;font-weight:600}.drag-name .drag-room{font-size:13px;color:#0f2a44}.milestone-file.sent{overflow:visible}.milestone-file.sent:after{content:"✓";position:absolute;top:-7px;right:-6px;width:15px;height:15px;border-radius:50%;background:#16a34a;color:#fff;font-size:10px;line-height:15px;text-align:center;box-shadow:0 0 0 2px #fff}.note-day-tasks .note-item.note-color-filedue{background:#fdf2f8;border-color:#fbcfe8}.note-color-filedue .note-type-label{color:#be185d}.export-note-filedue{background:#fdf2f8!important;border-color:#fbcfe8!important}.export-note-filedue .export-note-icon{background:#db2777}.export-note-filedue .export-note-category{color:#be185d}.pl-list{display:flex;flex-direction:column;gap:8px;margin:8px 0}.pl-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:1px solid #e2e8f0;border-radius:12px;background:#fff;padding:14px;cursor:pointer;font:inherit}.pl-item span{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.pl-item b{color:#173c63;font-size:15px}.pl-item small{color:#64748b;font-size:12px}.pl-item em{font-style:normal;background:#fff1f0;color:#b42318;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700;white-space:nowrap}.pl-item i{font-style:normal;color:#94a3b8;font-size:22px}.pl-item.need{border-color:#f5a3a3}.pl-back{border:0;background:none;color:#2267a5;font-weight:700;padding:0 0 8px;cursor:pointer;font-size:14px}.pl-sub-title{margin:-6px 0 8px!important}.pl-footer{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.rp-quick10{display:grid!important;grid-template-columns:repeat(5,1fr);gap:6px}.rp-quick10 button{min-width:0}.rp-wrap{margin-bottom:12px}.rp-wrap .rp-room{margin-bottom:6px}.lf-room{border:1px solid #e2e8f0;border-radius:12px;padding:12px;margin-bottom:10px;display:flex;flex-direction:column;gap:8px;background:#fff}.lf-room-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.lf-room-head b{font-size:15px;color:#0f2a44}.lf-bars{display:grid;gap:8px}.lf-bars>div>span{display:block;font-size:12px;color:#475569;margin-bottom:3px;font-weight:600}.lf-bars .pbar{min-width:0}.lf-send{align-self:flex-start}.lf-form h2{font-size:19px}.note-extra{display:block;color:#c81e1e;font-weight:400;font-size:12px;margin-top:2px}.drag-done{display:inline-block;background:#1f8a57;color:#fff;border-radius:4px;padding:0 5px;margin-right:6px;font-size:10px;font-weight:700;vertical-align:1px}.milestone-file.sent:after{left:-6px;right:auto}.tk{background:#f7f9fb;border:1px solid #dbe3eb;border-radius:10px;padding:10px 12px;margin-top:8px}.tk-meta{font-size:12px;color:#66788c}.tk-note{white-space:pre-wrap;margin:6px 0 0;font-size:14px;color:#24384d;line-height:1.5}.tk-items{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:4px}.tk-items li{display:flex;gap:8px;font-size:14px;color:#14304d}.tk-items li>span:first-child{width:16px;color:#c77700;font-weight:700}.tk-items li.done{color:#7a8a9a}.tk-items li.done>span:first-child{color:#1f8a57}.tk-items small{color:#1f8a57}.pp{--ink:#14304d;--paper:#eef2f6;--line:#dbe3eb;--muted:#66788c;--red:#d7262e;--amber:#c77700;--green:#1f8a57;font-family:Be Vietnam Pro,system-ui,-apple-system,Segoe UI,Arial,sans-serif;background:var(--paper);color:var(--ink);min-height:100vh;max-width:640px;margin:0 auto;padding-bottom:32px;font-size:15px;line-height:1.45}.pp *{box-sizing:border-box}.pp button,.pp input,.pp textarea{font-family:inherit}.pp :focus-visible{outline:3px solid #6aa6dc;outline-offset:2px}.pp-head{display:flex;align-items:center;gap:12px;background:var(--ink);color:#fff;padding:14px 16px 16px}.pp-head img{width:46px;height:46px;object-fit:contain;background:#fff;border-radius:10px;padding:4px}.pp-head div{flex:1;min-width:0;display:flex;flex-direction:column}.pp-head strong{font-size:17px;font-weight:700;letter-spacing:.1px}.pp-head span{font-size:13px;color:#b9cbe0}.pp-head button{background:transparent;color:#dfe9f4;border:1px solid #4b6886;border-radius:8px;padding:8px 10px;font-size:13px;cursor:pointer}.pp-main{padding:0 14px}.pp-h1{font-size:24px;font-weight:800;margin:20px 2px 2px;letter-spacing:-.2px}.pp-lead{margin:0 2px 14px;color:var(--muted);font-size:14px}.pp-plist{list-style:none;margin:0;padding:0;background:#fff;border-radius:14px;overflow:hidden;border:1px solid var(--line)}.pp-plist li+li{border-top:1px solid var(--line)}.pp-proj{display:flex;align-items:center;gap:10px;width:100%;padding:15px 14px 15px 18px;background:#fff;border:0;text-align:left;cursor:pointer;color:inherit;position:relative}.pp-proj:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:5px;border-radius:0 4px 4px 0;background:#c6d2de}.pp-proj.tone-late:before{background:var(--red)}.pp-proj.tone-due:before{background:var(--amber)}.pp-proj.tone-done:before{background:var(--green)}.pp-proj:active{background:#f4f7fa}.pp-proj-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.pp-proj-name{font-weight:700;font-size:16px}.pp-proj-meta{font-size:13px;color:var(--muted)}.pp-badge{font-size:12px;font-weight:700;padding:4px 9px;border-radius:999px;background:#eef2f6;color:var(--ink);white-space:nowrap}.tone-late .pp-badge{background:#fde7e8;color:#b31c23}.tone-due .pp-badge{background:#fff1dc;color:#9a5b00}.pp-chev{font-size:24px;color:#9fb0c1;line-height:1}.pp-bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:10px;background:var(--paper);padding:12px 2px 10px;margin-bottom:4px;border-bottom:1px solid var(--line)}.pp-bar button{width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:#fff;font-size:26px;line-height:1;color:var(--ink);cursor:pointer;flex:0 0 auto}.pp-bar div{display:flex;flex-direction:column;min-width:0}.pp-bar strong{font-size:18px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pp-bar span{font-size:13px;color:var(--muted)}.pp-list{display:flex;flex-direction:column;gap:12px;padding-top:8px}.pp-card{position:relative;background:#fff;border-radius:14px;padding:14px 14px 14px 22px;border:1px solid var(--line);overflow:hidden}.pp-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:8px;background:#c6d2de;box-shadow:inset -2px 0 #ffffff73}.pp-card.edge-late:before{background:var(--red)}.pp-card.edge-due:before{background:var(--amber)}.pp-card.edge-done:before{background:var(--green)}.pp-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.pp-card h3{margin:0;font-size:17px;font-weight:700;line-height:1.3}.pp-state{font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;white-space:nowrap;background:#eef2f6;color:var(--ink)}.pp-state.late{background:#fde7e8;color:#b31c23}.pp-state.due{background:#fff1dc;color:#9a5b00}.pp-state.done{background:#e3f4ea;color:#17683f}.pp-sub{margin:4px 0 0;font-size:13px;color:var(--muted)}.pp-note{margin:8px 0 0;font-size:14px;white-space:pre-wrap;color:#33495f;background:#f7f9fb;border-radius:8px;padding:8px 10px}.pp-chips{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 0}.pp-chips span{font-size:12px;background:#f1f4f7;border-radius:6px;padding:3px 8px;color:#41566b}.pp-actions{display:flex;align-items:center;gap:12px;margin-top:12px}.pp-btn{background:var(--ink);color:#fff;border:0;border-radius:10px;padding:11px 18px;font-weight:700;font-size:15px;cursor:pointer;min-height:44px}.pp-btn.ghost{background:#fff;color:var(--ink);border:1.5px solid var(--ink)}.pp-btn:disabled{opacity:.45;cursor:default}.pp-link{background:none;border:0;color:#2267a5;font-weight:600;font-size:14px;cursor:pointer;padding:8px 2px}.pp-more{align-self:center}.pp-sheet{background:#fff;border-radius:14px;padding:16px;margin:12px 14px 0;border:1px solid var(--line)}.pp-main .pp-sheet{margin:10px 0 0}.pp-sheet h2{margin:0 0 4px;font-size:19px;font-weight:800}.pp-sheet>p{margin:0 0 12px;color:var(--muted);font-size:14px}.pp-name{display:flex;flex-direction:column;gap:10px}.pp-name input,.pp-field input,.pp-field textarea{width:100%;border:1px solid #c9d4df;border-radius:10px;padding:11px 12px;font-size:15px;background:#fff;color:var(--ink)}.pp-form{border:2px solid var(--ink)}.pp-form fieldset{border:0;margin:0 0 12px;padding:0}.pp-form legend{font-weight:700;font-size:14px;margin-bottom:8px}.pp-toggles{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pp-toggles label{display:flex;align-items:center;gap:8px;border:1.5px solid #c9d4df;border-radius:10px;padding:11px 10px;font-weight:600;font-size:14px;cursor:pointer;min-height:46px}.pp-toggles label.on{border-color:var(--ink);background:#e9f0f7}.pp-toggles input{width:20px;height:20px;accent-color:var(--ink);flex:0 0 auto}.pp-field{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:14px;margin:0 0 12px}.pp-field small{font-weight:400;color:var(--muted)}.pp-form-actions{display:flex;align-items:center;gap:14px}.pp-checks{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column}.pp-checks li+li{border-top:1px solid #edf1f5}.pp-checks label{display:flex;align-items:center;gap:12px;padding:11px 2px;font-size:16px;font-weight:600;cursor:pointer}.pp-checks input{width:26px;height:26px;accent-color:var(--green);flex:0 0 auto}.pp-checks label.is-done{color:#7a8a9a;font-weight:500;text-decoration:line-through}.pp-checks label.busy{opacity:.5}.pp-checks small{color:var(--green);text-decoration:none}.pp-done{margin-top:6px}.pp-done summary{cursor:pointer;color:var(--muted);font-size:13px;padding:6px 0}.pp-meter{position:relative;height:30px;border-radius:9px;background:#e8eef4;margin:12px 0 10px;overflow:hidden}.pp-meter-fill{position:absolute;left:0;top:0;bottom:0;background:var(--ink);transition:width .2s}.pp-meter b{position:absolute;right:10px;top:0;line-height:30px;font-size:15px;font-weight:800;color:var(--ink);mix-blend-mode:normal;background:#ffffffd9;padding:0 6px;border-radius:6px;margin-top:3px;line-height:24px}.pp-levels{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.pp-levels button{border:1.5px solid #c9d4df;background:#fff;border-radius:9px;padding:10px 0;font-weight:700;font-size:15px;color:var(--ink);cursor:pointer;min-height:44px}.pp-levels button.on{background:var(--ink);border-color:var(--ink);color:#fff}.pp-late-box{margin-top:12px;background:#fff6f6;border:1px solid #f6caca;border-radius:10px;padding:12px 12px 0}.pp-card>.pp-field{margin-top:12px}.pp-card-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:4px}.pp-card-foot small{color:var(--muted)}.pp-card-foot small.warn{color:#b31c23;font-weight:700}.pp-empty{color:var(--muted);text-align:center;padding:18px 0}.pp-err{background:#fde7e8;color:#8f1218;border-radius:10px;padding:10px 12px;font-size:14px;margin:10px 14px 0}.pp-err-top{margin:10px 14px 0}.pp-ok{background:#e3f4ea;color:#17683f;border-radius:10px;padding:10px 12px;font-size:14px;margin:12px 0 0;font-weight:600}.pp-foot{display:flex;justify-content:center;gap:10px;margin:22px 14px 0}.pp-foot button{background:#fff;border:1px solid var(--line);border-radius:9px;padding:9px 14px;color:var(--muted);font-size:13px;cursor:pointer}@media(prefers-reduced-motion:reduce){.pp-meter-fill{transition:none}}.pp header.pp-head{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:flex-start!important;text-align:left!important;gap:12px;padding:14px 16px 16px!important;margin:0!important;background:var(--ink)!important;border:0!important;box-shadow:none!important;position:static!important;min-height:0!important}.pp header.pp-head div{align-items:flex-start}.pp-form{scroll-margin-top:76px}.pp-center{display:block;margin:10px auto 0}.note-day-tasks .note-item{display:flex;align-items:center;gap:10px}.note-day-tasks .note-item .note-content{flex:1;min-width:0}.note-owner{flex:0 0 150px;display:flex;flex-direction:column;align-items:flex-start;gap:1px;border-left:3px solid #94a3b8;background:#fff;border-radius:6px;padding:5px 9px;font-size:11px;line-height:1.25}.note-owner b{font-size:12px;font-weight:800}.note-owner span{color:#475569;font-weight:600}.owner-logi{border-left-color:#0e7fa3}.owner-logi b{color:#0b6b8a}.owner-shop{border-left-color:#d92d20}.owner-shop b{color:#b42318}.owner-file{border-left-color:#db2777}.owner-file b{color:#be185d}.owner-team{border-left-color:#079455}.owner-team b{color:#067647}.owner-partner{border-left-color:#ed7100}.owner-partner b{color:#b94f00}.owner-admin{border-left-color:#2267a5}.owner-admin b{color:#173c63}.owner-other b{color:#64748b}.export-owner{font-weight:800}.export-owner.owner-logi{color:#0b6b8a}.export-owner.owner-shop{color:#b42318}.export-owner.owner-file{color:#be185d}.export-owner.owner-team{color:#067647}@media(max-width:700px){.note-owner{flex-basis:110px}}.tk-items li input{width:17px;height:17px;margin:1px 0 0;accent-color:#1f8a57;flex:0 0 auto;cursor:pointer}.drag-name .drag-room{white-space:normal!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.15;font-size:12.5px}.drag-name .drag-proj .drag-done{margin-right:5px}.pp-inline-form{margin-top:12px;border-top:1px dashed #c9d4df;padding-top:12px}.pp-inline-form h2{font-size:17px;margin:0 0 2px}.pp-inline-form>p{margin:0 0 10px;color:var(--muted);font-size:13px}.drag-board .drag-row{height:54px}.drag-board .drag-bar,.drag-board .milestone-file,.drag-board .milestone-delivery{top:14px}.drag-board .drag-name{padding:6px 10px}.drag-name .drag-done{background:none!important;color:#1f8a57!important;padding:0!important;border-radius:0!important;font-size:10px!important;font-weight:700;margin-right:6px!important}.note-owner{flex-basis:130px}.note-owner b{font-size:12.5px}.owners-edit .owners-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0}.owners-edit label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;border-left:3px solid #94a3b8;padding-left:8px}.owners-edit label.owner-file{border-left-color:#db2777}.owners-edit label.owner-logi{border-left-color:#0e7fa3}.owners-edit label.owner-shop{border-left-color:#d92d20}.owners-edit input{border:1px solid #cbd5e1;border-radius:8px;padding:8px 10px;font-size:14px;font-weight:500}@media(max-width:700px){.owners-edit .owners-grid{grid-template-columns:1fr}}.act-bar{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:6px;margin:0 0 14px}.act-row{display:flex;gap:6px;align-items:stretch;flex-wrap:wrap}.act-pending{flex:0 0 auto;border:1px solid #e2e8f0;background:#f8fafc;color:#64748b;border-radius:9px;padding:7px 12px;font-size:12.5px;cursor:pointer}.act-pending.on{background:#fff1f0;border-color:#f5a3a3;color:#b42318;font-weight:800}.act-summary{flex:1 1 320px;min-width:0;display:flex;align-items:center;gap:10px;border:0;background:transparent;padding:7px 8px;cursor:pointer;text-align:left;font-size:12.5px;color:#475569;border-radius:9px}.act-summary:hover{background:#f8fafc}.act-title{font-weight:700;color:#334155;white-space:nowrap}.act-last{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#64748b}.act-toggle{color:#2267a5;font-weight:600;white-space:nowrap}.act-list{border-top:1px solid #eef2f6;margin-top:6px;padding:6px 8px 4px;max-height:340px;overflow:auto}.act-day b{display:block;font-size:12px;color:#334155;margin:8px 0 4px}.act-day ul{list-style:none;margin:0;padding:0}.act-day li{display:flex;gap:8px;font-size:12.5px;line-height:1.45;padding:3px 0 3px 10px;border-left:3px solid #cbd5e1;margin-bottom:2px;color:#475569}.act-day li.k-file{border-left-color:#db2777}.act-day li.k-logi{border-left-color:#0e7fa3}.act-day li.k-shop{border-left-color:#d92d20}.act-day li.k-admin{border-left-color:#2267a5}.act-day time{color:#94a3b8;font-variant-numeric:tabular-nums;flex:0 0 38px}.act-who{font-weight:700;color:#1e293b;white-space:nowrap}.act-text{min-width:0}.act-empty{font-size:12.5px;color:#94a3b8;margin:6px 0}.name-ask{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#eef5fc;border:1px solid #cfe0f1;border-radius:10px;padding:8px 12px;margin:0 0 12px;font-size:13px;color:#173c63}.name-ask input{border:1px solid #b8cde2;border-radius:7px;padding:6px 9px;font-size:13px;width:160px}html body,html body *{font-family:Be Vietnam Pro,system-ui,-apple-system,Segoe UI,Arial,sans-serif!important}html body pre,html body code{font-family:ui-monospace,Consolas,monospace!important}.drag-board .drag-row{height:32px}.drag-board .drag-bar,.drag-board .milestone-file,.drag-board .milestone-delivery{top:4px;height:24px;font-size:10px}.drag-board .drag-row .drag-name{display:flex;align-items:center;gap:6px;padding:2px 10px;overflow:hidden}.drag-board .drag-row .drag-name>b,.drag-board .drag-row .drag-name>small{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drag-board .drag-row .drag-name>small{font-size:10px;color:#94a3b8}.drag-name .drag-room{white-space:normal!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.15;font-size:11.5px;font-weight:700;color:#0f2a44;letter-spacing:0}.drag-name .drag-code{font-size:9.5px;font-weight:600;color:#94a3b8;margin-right:6px}.drag-name .drag-done{font-size:9.5px!important;margin-right:6px!important}.drag-board .drag-row .ps-detail-btn{padding:0 5px;font-size:10px;line-height:18px;flex:0 0 auto}.drag-board .drag-row .drag-team{display:flex;align-items:center;gap:5px;padding:2px 6px;overflow:hidden}.drag-board .drag-row .drag-team .team-select{height:22px;font-size:11px;padding:0 4px;max-width:92px;flex:0 0 auto}.drag-board .drag-row .drag-team small{font-size:10px;white-space:nowrap;margin:0;color:#64748b}.drag-board .drag-row .drag-team .done-button{padding:1px 6px;font-size:10px;line-height:16px;margin:0 0 0 auto;flex:0 0 auto}.drag-hint{margin:0 0 4px;font-size:11.5px;color:#94a3b8;text-align:right}.drag-hint.on{color:#2267a5}.drag-scroll.is-active{outline:2px solid #2267a5;outline-offset:1px}.note-owner{flex:0 0 160px!important;display:flex!important;align-items:center;justify-content:flex-end;gap:6px;border:0!important;background:none!important;padding:0 4px!important;font-size:12px!important;font-weight:600;color:#334155;text-align:right;line-height:1.3}.note-owner i{width:7px;height:7px;border-radius:50%;background:#94a3b8;flex:0 0 auto}.note-owner.owner-logi i{background:#0e7fa3}.note-owner.owner-shop i{background:#d92d20}.note-owner.owner-file i{background:#db2777}.note-owner.owner-admin i{background:#2267a5}.export-owner{font-weight:700;color:#1e293b}.owners-edit .owners-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.owners-edit label.owner-admin{border-left-color:#2267a5}.act-me{flex:0 0 auto;border:0;background:none;color:#94a3b8;font-size:12px;cursor:pointer;padding:7px 8px}.act-me:hover{color:#2267a5}.team-room-list .team-proj{margin:4px 0 8px}.team-room-list .team-proj>b{display:block;font-size:13px;color:#173c63;margin-bottom:2px}.team-room-list .team-proj ul{margin:0;padding-left:18px;font-size:13px;color:#334155;columns:1}.team-room-list .team-proj li{break-inside:avoid;margin:1px 0}@media(max-width:700px){.owners-edit .owners-grid{grid-template-columns:1fr}.team-room-list .team-proj ul{columns:1}}.drag-board .drag-row .drag-name .drag-nm{display:flex;flex-direction:column;justify-content:center;min-width:0;overflow:hidden;line-height:1.1}.drag-board .drag-row .drag-name .drag-nm .drag-room{display:block!important;-webkit-line-clamp:unset;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis;font-size:11.5px;line-height:14px}.drag-board .drag-row .drag-name .drag-nm .drag-pname{display:block;font-size:9.5px;line-height:12px;color:#94a3b8;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.team-room-list{display:block!important}.team-room-list .team-proj{display:block;margin:4px 0 10px}.note-day-tasks .note-item.note-color-filemiss{background:#fdf2f8;border-color:#f9a8d4}.note-color-filemiss .note-type-label{color:#be185d}.export-note-filemiss{background:#fdf2f8!important;border-color:#f9a8d4!important}.export-note-filemiss .export-note-icon{background:#db2777}.export-note-filemiss .export-note-category{color:#be185d}.tk-miss{margin:8px 0 4px;padding:8px 10px;border:1px solid #f9a8d4;background:#fdf2f8;border-radius:8px}.tk-miss-head{font-size:12.5px;color:#9d174d;margin-bottom:4px}.tk-miss-head b{font-weight:700}.tk-miss-head small{color:#9f6b84;font-weight:400}.tk-miss .tk-items{margin-top:4px}.tk-miss .tk-items li>span:first-child{color:#db2777}.tk-miss .tk-items li.done>span:first-child{color:#1f8a57}.tk-miss .tk-items li input{accent-color:#db2777}.tk-when{color:#94a3b8!important;font-size:11.5px;font-weight:400}.tk-sub{font-size:12px;font-weight:700;color:#475569;margin-top:8px}.pp-miss-alert{margin:0 0 12px;padding:10px 12px;border-radius:10px;background:#fdf2f8;border:1px solid #f9a8d4;color:#9d174d;font-size:14px}.pp-card .tk-miss{margin:6px 0 2px}.sum-miss{color:#be185d;font-weight:700}.tk-miss-head small{display:inline!important;margin:0!important}.pp.pp-desk{max-width:1180px;font-size:14px}.pp-desk .pp-main{padding:0 20px}.pp-desk .pp-h1{font-size:22px;margin:16px 0 4px}.pp-desk .pp-lead{margin:0 0 10px}.pp-desk .pp-proj{padding:9px 14px 9px 18px}.pp-desk .pp-proj-name{font-size:15px}.pp-desk .pp-bar{padding:10px 2px 8px}.dk-list{display:flex;flex-direction:column;gap:0;margin-top:8px;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.dk-row{position:relative;border-top:1px solid var(--line)}.dk-row:first-child{border-top:0}.dk-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#cbd5e1}.dk-row.edge-late:before{background:var(--red)}.dk-row.edge-due:before{background:var(--amber)}.dk-row.edge-done:before{background:var(--green)}.dk-row.open{background:#f8fafc}.dk-line{display:flex;align-items:center;gap:10px;min-height:40px;padding:4px 12px 4px 14px;cursor:pointer}.dk-line:hover{background:#f3f7fb}.dk-caret{width:12px;color:#94a3b8;font-size:12px;flex:0 0 auto}.dk-name{margin:0;font-size:14px;font-weight:700;color:var(--ink);flex:0 1 auto;min-width:120px;max-width:340px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dk-due{font-size:12.5px;font-weight:700;color:#c8161e;white-space:nowrap}.dk-due.sent{color:#64748b;font-weight:500}.dk-due.none{color:#94a3b8;font-weight:500}.dk-line .pp-state{font-size:11.5px;padding:2px 8px}.dk-chips{display:flex;gap:6px;flex:1 1 auto;min-width:0;overflow:hidden}.dk-chips>span{font-size:12px;color:#475569;background:#eef2f6;border-radius:6px;padding:2px 7px;white-space:nowrap}.dk-chips .dk-preview{background:none;padding:0;color:#64748b;overflow:hidden;text-overflow:ellipsis}.dk-act{display:flex;gap:6px;flex:0 0 auto;margin-left:auto}.dk-count{font-size:12px;color:#94a3b8}.pp-desk .pp-btn.sm{min-height:30px;padding:5px 12px;font-size:13px;border-radius:7px}.dk-missline{margin:-4px 12px 6px 36px;font-size:12.5px;color:#be185d}.dk-row .tk,.dk-row .dk-form,.dk-body{margin:0 12px 10px 36px}.dk-body .pp-note{margin:4px 0 6px}.dk-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:2px 16px}.dk-checks li{border:0!important}.dk-checks label{padding:5px 0!important;min-height:0!important;font-size:14px}.dk-checks input{width:18px!important;height:18px!important}.dk-form{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px}.dk-form h2{font-size:15px;margin:0 0 8px}.dk-2col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dk-supply{display:flex;flex-direction:column;gap:4px}.dk-supply label{display:flex;gap:8px;align-items:center;font-size:14px;cursor:pointer;padding:4px 6px;border-radius:6px}.dk-supply label.on{background:#e3f4ea}.dk-supply small{color:#94a3b8}.dk-form input[type=text]{width:100%;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:14px}.pp-desk .pp-toggles label{padding:6px 10px;font-size:13px}@media(max-width:760px){.dk-2col{grid-template-columns:1fr}.dk-chips{display:none}.dk-line{flex-wrap:wrap}}.pp-desk .pp-toggles{display:flex!important;flex-wrap:wrap;gap:6px!important;grid-template-columns:none!important}.pp-desk .pp-toggles label{width:auto!important;min-height:0!important;padding:5px 10px!important;border-radius:7px!important;font-size:13px!important}.pp-desk .pp-toggles input{width:15px!important;height:15px!important}.pp-desk .pp-field textarea{min-height:0}.pp-desk .dk-form fieldset{margin:0 0 8px}.dk-line.dk-g-lead,.dk-group.dk-g-lead{display:grid;grid-template-columns:14px minmax(180px,2.2fr) minmax(170px,1.4fr) 120px 90px 100px 96px;align-items:center;column-gap:12px}.dk-line.dk-g-assist,.dk-group.dk-g-assist{display:grid;grid-template-columns:14px minmax(180px,260px) 110px minmax(0,1fr) 60px;align-items:center;column-gap:12px}.dk-line .dk-name{max-width:none;font-size:14.5px;font-weight:800;color:#0f2a44}.dk-c{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.dk-num{font-size:13px;color:#475569;font-variant-numeric:tabular-nums}.dk-line .dk-act{justify-content:flex-end;margin-left:0}.dk-g-assist .dk-act{text-align:right}.dk-group{padding:7px 12px 5px 14px;background:#f1f5f9;border-top:1px solid var(--line);font-size:11.5px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.02em}.dk-group:first-child{border-top:0}.dk-group b{color:#0f2a44;margin-left:4px}.dk-row:has(+.dk-group),.dk-group+.dk-row{border-top:0}.dk-due{font-size:13px}.dk-missline{margin:-3px 12px 6px 40px}.dk-tk{position:relative;margin:0 12px 10px 36px}.dk-tk .tk{margin:0}.dk-addmiss{position:absolute;top:8px;right:10px;border:1px solid #f9a8d4;background:#fff;color:#be185d;border-radius:6px;padding:3px 9px;font-size:12.5px;font-weight:600;cursor:pointer;z-index:1}.dk-addmiss:hover{background:#fdf2f8}.dk-g-assist .dk-chips{display:block}@media(max-width:900px){.dk-line.dk-g-lead,.dk-group.dk-g-lead{grid-template-columns:14px 1fr auto auto auto}.dk-g-lead>.dk-num,.dk-group.dk-g-lead>span:nth-child(5),.dk-group.dk-g-lead>span:nth-child(6){display:none}}.dk-tk-acts{position:absolute;top:8px;right:10px;display:flex;gap:6px;z-index:1}.dk-tk-acts .dk-addmiss{position:static}.dk-addmiss.dk-edit{border-color:#93c5fd;color:#1d4ed8}.dk-addmiss.dk-edit:hover{background:#eff6ff}.te fieldset{border:1px solid var(--line);border-radius:8px;padding:8px 10px;margin:0}.te legend{font-weight:700;font-size:13px;padding:0 4px}.te-list{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:4px}.te-row{display:flex;align-items:center;gap:6px}.te-row input{flex:1;min-width:0;border:1px solid var(--line);border-radius:6px;padding:5px 8px;font-size:13.5px}.te-row.del input{text-decoration:line-through;color:#94a3b8;background:#f8fafc}.te-row.locked{color:#64748b;font-size:13.5px;padding:3px 0}.te-row.locked small{color:#94a3b8;margin-left:auto}.te-ok{color:#1f8a57;font-weight:700;width:14px}.te-text{flex:1}.te-del{border:1px solid #fecaca;background:#fff;color:#b91c1c;border-radius:6px;padding:4px 9px;font-size:12px;cursor:pointer;flex:0 0 auto}.te-row.del .te-del{border-color:#cbd5e1;color:#475569}.te-empty{font-size:12.5px;color:#94a3b8;margin:0 0 6px}.te>.pp-field{margin-top:8px}.dk-line.dk-g-assist,.dk-group.dk-g-assist{grid-template-columns:14px minmax(180px,260px) 90px 100px minmax(0,1fr) 60px}.dk-late{font-size:13px;font-weight:700;color:#c8161e}.export-note-day-tasks .export-note{display:flex!important;align-items:center!important}.export-note-day-tasks .export-note .export-note-main{flex:1 1 auto;min-width:0}.export-gantt-name.is-room .export-room{display:block;font-size:15px;font-weight:800;color:#0f2a44;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.export-gantt-name.is-room .export-proj{display:block;font-size:10.5px;font-weight:500;color:#94a3b8;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
