:root{--bg:#f4f4f0;--panel:#ffffff;--line:#d8d8d2;--ink:#222;--accent:#b5c916;--soft:#777}*{box-sizing:border-box}.ms{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:18px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:-4px;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased}button .ms{pointer-events:none}html,body{height:100%;margin:0;font-family:Helvetica Neue,Arial,sans-serif;color:var(--ink);background:var(--bg)}#app{height:100%;display:flex;flex-direction:column}.editor-root{flex:1;display:flex;flex-direction:column;min-height:0}header{display:flex;align-items:center;gap:14px;padding:8px 14px;background:#1c1c1c;color:#fff}header .logo{font-weight:800;letter-spacing:.5px}header .logo span{color:var(--accent)}header input#coreoNom{background:#2e2e2e;border:1px solid #444;color:#fff;padding:5px 10px;border-radius:6px;font-size:14px;width:230px}header .grow{flex:1}header button{background:#2e2e2e;color:#eee;border:1px solid #555;border-radius:6px;padding:6px 12px;cursor:pointer;font-size:13px;min-height:36px}header button:hover{background:#3a3a3a}header .badge{font-size:11.5px;color:#ccc;background:#3a3a3a;padding:4px 10px;border-radius:20px}.savestate{font-size:12px;color:var(--accent)}.center-card{margin:auto;text-align:center;padding:40px;background:var(--panel);border-radius:16px;box-shadow:0 4px 30px #0000001a}.center-card h1 span{color:var(--accent)}.center-card p{color:var(--soft)}button.pri{background:var(--accent);border:none;border-radius:8px;padding:10px 20px;font-weight:700;cursor:pointer;font-size:14px;min-height:44px}.llista{max-width:640px;margin:30px auto;width:100%;padding:0 16px}.llista-top{display:flex;justify-content:space-between;align-items:center}.item{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin:10px 0;cursor:pointer}.item:hover{border-color:var(--accent)}.item-nom{font-weight:700;font-size:15px}.item-meta{font-size:12.5px;color:var(--soft);margin-top:3px}.item .del{position:absolute;right:12px;top:14px;background:none;border:none;cursor:pointer;font-size:15px;opacity:.5}.item .del:hover{opacity:1}.buit{color:var(--soft);text-align:center;padding:30px}#app-body{flex:1;display:flex;min-height:0}aside{background:var(--panel);border-right:1px solid var(--line);width:225px;display:flex;flex-direction:column;min-height:0}aside#right{border-right:none;border-left:1px solid var(--line);width:235px}aside h2{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--soft);margin:0;padding:10px 12px 6px}.scroll{overflow-y:auto;flex:1;padding:0 8px 8px}.part{margin:6px 0}.part>.pname{font-weight:700;font-size:13px;padding:7px 8px;background:#eef0e2;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.part>.pname .mini{font-weight:400;color:var(--soft);font-size:11px}.fase{display:flex;align-items:center;gap:6px;padding:8px 8px 8px 18px;font-size:13px;border-radius:6px;cursor:pointer;margin-top:2px}.fase:hover{background:#f1f1ea}.fase.on{background:var(--accent);color:#1c1c1c;font-weight:700}.fase .dot{width:8px;height:8px;border-radius:50%;background:#bbb;flex:none}.fase.on .dot{background:#1c1c1c}.sideBtns{display:flex;gap:6px;padding:8px;border-top:1px solid var(--line)}.sideBtns button{flex:1;font-size:12.5px;padding:9px 4px;border:1px solid var(--line);background:#fafaf6;border-radius:6px;cursor:pointer;min-height:40px}.sideBtns button:hover{background:#f0f0e8}main{flex:1;display:flex;flex-direction:column;min-width:0}#toolbar{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#e9e9e2;border-bottom:1px solid var(--line);flex-wrap:wrap}#toolbar button,#toolbar select{font-size:13px;padding:7px 10px;border:1px solid #c5c5bc;background:#fff;border-radius:6px;cursor:pointer;min-height:38px}#toolbar button.on{background:#1c1c1c;color:var(--accent);border-color:#1c1c1c}#toolbar .sep{width:1px;height:22px;background:#c5c5bc;margin:0 4px}#toolbar label{font-size:12px;color:#555;display:flex;align-items:center;gap:4px}#toolbar input[type=color]{width:38px;height:38px;padding:2px;border:1px solid #c5c5bc;border-radius:6px;background:#fff}#canvasWrap{flex:1;overflow:auto;background:#dcdcd4;display:flex;align-items:flex-start;justify-content:center;padding:12px;-webkit-overflow-scrolling:touch}svg#cv{background:#fff;box-shadow:0 2px 10px #0000002e;border-radius:4px;touch-action:none}#status{padding:5px 12px;font-size:12px;color:var(--soft);background:#e9e9e2;border-top:1px solid var(--line);min-height:24px}.bal{display:flex;align-items:center;gap:8px;padding:7px 6px;border-radius:6px;cursor:pointer;font-size:13px}.bal:hover{background:#f1f1ea}.bal .nm{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grups{display:flex;gap:8px;padding:4px 12px 8px;flex-wrap:wrap}.grups .g{width:26px;height:26px;border-radius:6px;cursor:pointer;border:2px solid rgba(0,0,0,.15)}.grups .g:hover{transform:scale(1.12)}dialog{border:none;border-radius:12px;box-shadow:0 8px 40px #0000004d;padding:20px;width:340px}dialog h3{margin:0 0 12px;font-size:16px}dialog .row{display:flex;align-items:center;gap:8px;margin:8px 0;font-size:13.5px}dialog .row label{width:110px}dialog select,dialog input{padding:6px;border:1px solid var(--line);border-radius:5px;font-size:13px}dialog .foot{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}dialog .foot button{padding:8px 16px;border-radius:6px;border:1px solid var(--line);background:#fff;cursor:pointer;min-height:40px}dialog .foot button.pri{background:var(--accent);border:none;font-weight:700}.tabs{display:flex;gap:6px;margin:4px 0 14px}.tabs button{padding:8px 18px;border:1px solid var(--line);background:#fff;border-radius:20px;cursor:pointer;font-size:13px;white-space:nowrap}.tabs button.on{background:#1c1c1c;color:var(--accent);border-color:#1c1c1c}.item-btns{position:absolute;right:10px;top:12px;display:flex;gap:4px}.item-btns button{background:none;border:none;cursor:pointer;font-size:15px;opacity:.55;padding:4px}.item-btns button:hover{opacity:1}.bal-item{display:flex;align-items:center;gap:12px}.bal-av{width:36px;height:36px;border-radius:50%;object-fit:cover}.bal-ini{display:inline-flex;align-items:center;justify-content:center;background:#8a9a80;color:#fff;font-weight:700;font-size:13px}.mini{font-size:11px;color:var(--soft)}code{background:#eee;border-radius:4px;padding:1px 5px;font-size:11px}.chip{display:inline-flex;align-items:center;gap:3px;border:1px solid var(--line);border-radius:14px;padding:2px 8px 2px 3px;font-size:11.5px;cursor:grab;background:#fff;margin-left:4px}.chip.fora{opacity:.45;border-style:dashed}.bal .nm{font-weight:700;font-size:12px;width:26px}main{position:relative}#paperera,#papereraF{position:absolute;right:18px;bottom:40px;width:56px;height:56px;border-radius:14px;background:#fff;border:2px dashed #b9b9b0;display:flex;align-items:center;justify-content:center;font-size:24px;opacity:.8;z-index:8;box-shadow:0 2px 8px #00000026}#paperera.hot,#papereraF.hot{background:#fde3dc;border-color:#c0492c;transform:scale(1.12);opacity:1}.abast{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:50}.abast-in{background:#fff;border-radius:14px;padding:18px 20px;width:260px;box-shadow:0 10px 40px #0000004d}.abast-in p{margin:0 0 10px;font-size:14px;font-weight:600}.abast-in button{display:block;width:100%;margin:6px 0;padding:10px;border:1px solid var(--line);background:#fafaf6;border-radius:8px;cursor:pointer;font-size:13px}.abast-in button:hover{background:#f0f0e8}.patro-strip{display:inline-flex;gap:3px;align-items:center;margin:6px 0;flex-wrap:wrap}.patro-sw{width:24px;height:24px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:10px;font-weight:700;cursor:pointer;border:1px solid rgba(0,0,0,.2);text-shadow:0 1px 2px rgba(0,0,0,.5)}.patro-sw:hover{transform:scale(1.12)}.patro-mini{width:24px;height:24px;border-radius:6px;border:1px dashed #bbb;background:#fff;cursor:pointer;font-size:13px;padding:0}.abast-in .patro-strip{margin:0 6px 0 0}.cpick{position:fixed;z-index:60;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 30px #00000040;width:280px}.cpick-tabs{display:flex;gap:4px;padding:8px 8px 0}.cpick-tabs button{flex:1;padding:5px;border:1px solid var(--line);background:#fafaf6;border-radius:6px;cursor:pointer;font-size:12px}.cpick-tabs button.on{background:#1c1c1c;color:var(--accent);border-color:#1c1c1c}.cpick-grid{display:grid;gap:3px;padding:10px}.cpick-sw{aspect-ratio:1;border-radius:4px;cursor:pointer;border:1px solid rgba(0,0,0,.15)}.cpick-sw:hover{transform:scale(1.15)}.sw{display:inline-block;width:16px;height:16px;border-radius:4px;border:1px solid rgba(0,0,0,.2);vertical-align:middle}.cpick-menu{width:auto;min-width:200px;max-width:320px;max-height:320px;overflow-y:auto;padding:6px}.cpick-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;background:none;cursor:pointer;border-radius:8px;font-size:13px;text-align:left}.cpick-item:hover{background:#f1f1ea}.cpick-item .patro-strip{margin:0}.prg-cos{flex:1;display:flex;flex-direction:column;min-height:0}.prg-cos #peces{flex:1;overflow-y:auto;padding:14px;max-width:860px;width:100%;margin:0 auto}.peca{background:var(--panel);border:1px solid var(--line);border-radius:10px;margin-bottom:10px}.peca-cap{display:flex;align-items:center;gap:8px;padding:10px 12px;flex-wrap:wrap}.peca-cap select{flex:1;min-width:200px;padding:7px;border:1px solid var(--line);border-radius:6px;font-size:13px}.peca-cap input{flex:1;min-width:160px;padding:7px;border:1px solid var(--line);border-radius:6px;font-size:13px}.peca-cap button{padding:7px 10px;border:1px solid var(--line);background:#fafaf6;border-radius:6px;cursor:pointer;font-size:12.5px}.peca-ordre{display:flex;align-items:center;gap:3px}.peca-ordre button{padding:2px 6px;font-size:10px}.peca-ordre b{min-width:18px;text-align:center}.avis-chip{background:#fde3dc;color:#c0492c;border-radius:12px;padding:3px 9px;font-size:12px;font-weight:700;cursor:help}.assig{border-top:1px solid var(--line);padding:10px 14px;background:#fbfaf5;border-radius:0 0 10px 10px}.assig table{border-collapse:collapse;width:100%;max-width:480px}.assig th{text-align:left;font-size:11px;color:var(--soft);text-transform:uppercase;letter-spacing:1px;padding:4px 8px}.assig td{padding:3px 8px}.pos-td{width:80px;white-space:nowrap}.assig-in{width:100%;padding:6px;border:1px solid var(--line);border-radius:6px;font-size:13px}.avisos{margin-top:8px;font-size:12.5px;color:#c0492c;line-height:1.6}.cfg-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.cfg-grid label{font-size:12.5px;color:var(--soft);display:flex;flex-direction:column;gap:4px}.cfg-grid input{padding:7px;border:1px solid var(--line);border-radius:6px;font-size:14px;width:120px}.formcol{display:flex;flex-direction:column;gap:8px;padding:4px 12px 12px}.formcol label{font-size:12px;color:var(--soft);display:flex;flex-direction:column;gap:3px}.formcol input,.formcol select{padding:6px;border:1px solid var(--line);border-radius:6px;font-size:13px}#tree{user-select:none;-webkit-user-select:none}.grip{color:#b5b5aa;cursor:grab;font-size:13px;padding:0 5px 0 1px;letter-spacing:-1px;flex:none;touch-action:none}.grip:hover{color:#777}.pname,.fase{display:flex;align-items:center}.dropA{box-shadow:inset 0 3px 0 -1px var(--accent)}.dropB{box-shadow:inset 0 -3px 0 -1px var(--accent)}@media(max-width:1100px){aside{width:190px}aside#right{width:210px}}
