.container{max-width:960px;margin:0 auto;padding:var(--space-xl) var(--space-md) var(--space-xxxl)}.topbar{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-xxl);padding:var(--space-lg) 0;border-bottom:1px solid var(--surface-hairline)}.topbar-title-wrap{flex:1;display:flex;justify-content:center;min-width:0}.topbar h1{font-family:var(--font-display);font-size:1.75rem;font-weight:700;letter-spacing:.01em;color:var(--ink-primary);margin:0;text-align:center}.back{font-family:var(--font-ui);font-size:.9rem;color:var(--link);text-decoration:none;white-space:nowrap;transition:color .2s ease;display:inline-flex;align-items:center;padding:6px 14px;background:var(--surface-soft);border:1px solid var(--surface-hairline);box-shadow:0 1px 4px #2c241a14;border-radius:4px}.back:hover{color:var(--accent-umber);background:var(--surface-card);border-color:var(--accent-clay);box-shadow:0 2px 8px #2c241a1f}.ops-link{font-family:var(--font-ui);font-size:13px;font-weight:500;color:var(--ink-muted);text-decoration:none;white-space:nowrap;transition:color .2s ease;display:inline-flex;align-items:center;padding:6px 14px;background:var(--surface-soft);border:1px solid var(--surface-hairline);box-shadow:0 1px 4px #2c241a14;border-radius:4px}.ops-link:hover{color:var(--accent-clay);background:var(--surface-card);border-color:var(--accent-clay);box-shadow:0 2px 8px #2c241a1f}.section{background:var(--surface-card);border:1px solid var(--surface-hairline);box-shadow:0 2px 8px #2c241a0f;padding:var(--space-xl);margin-bottom:var(--space-xxl)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-xl);flex-wrap:wrap}.section-title{font-family:var(--font-display);font-size:1.4rem;font-weight:700;color:var(--ink-primary);margin:0;display:flex;align-items:center;gap:var(--space-sm)}.section-icon{display:inline-block;width:22px;height:22px;background-color:var(--accent-clay);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.icon-materials{background-color:var(--accent-clay);-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'><path d='M11.99 18.54l-7.37-5.73L3 14.07l9 7 9-7-1.63-1.27-7.38 5.74zM12 16l7.36-5.73L21 9l-9-7-9 7 1.63 1.27L12 16z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'><path d='M11.99 18.54l-7.37-5.73L3 14.07l9 7 9-7-1.63-1.27-7.38 5.74zM12 16l7.36-5.73L21 9l-9-7-9 7 1.63 1.27L12 16z'/></svg>")}.icon-bell{background-color:var(--accent-ochre);-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'><path d='M12 22c1.1 0 2-.9 2-2h-4c0 1.1.89 2 2 2zm6-6V11c0-3.07-1.64-5.64-4.5-6.32V4c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5v.68C7.63 5.36 6 7.92 6 11v5l-2 2v1h16v-1z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'><path d='M12 22c1.1 0 2-.9 2-2h-4c0 1.1.89 2 2 2zm6-6V11c0-3.07-1.64-5.64-4.5-6.32V4c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5v.68C7.63 5.36 6 7.92 6 11v5l-2 2v1h16v-1z'/></svg>")}.icon-folder{background-color:var(--accent-umber);-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'><path d='M20 6h-8l-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'><path d='M20 6h-8l-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2z'/></svg>")}.icon-upload{background-color:var(--accent-rust);-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'><path d='M9 16h6v-6h4l-7-7-7 7h4v6zm-4 2h14v2H5v-2z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'><path d='M9 16h6v-6h4l-7-7-7 7h4v6zm-4 2h14v2H5v-2z'/></svg>")}.icon-wrench{background-color:var(--accent-umber);-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'><path d='M22.7 19l-9.1-9.1c.9-2.3.4-5-1.5-6.9-2-2-5-2.4-7.4-1.3L9 6 6 9 1.6 4.7C.4 7.1.9 10.1 2.9 12.1c1.9 1.9 4.6 2.4 6.9 1.5l9.1 9.1c.4.4 1 .4 1.4 0l2.3-2.3c.5-.4.5-1.1.1-1.4z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'><path d='M22.7 19l-9.1-9.1c.9-2.3.4-5-1.5-6.9-2-2-5-2.4-7.4-1.3L9 6 6 9 1.6 4.7C.4 7.1.9 10.1 2.9 12.1c1.9 1.9 4.6 2.4 6.9 1.5l9.1 9.1c.4.4 1 .4 1.4 0l2.3-2.3c.5-.4.5-1.1.1-1.4z'/></svg>")}.card{background:var(--surface-soft);border:1px solid var(--surface-hairline);box-shadow:0 2px 8px #2c241a0f;padding:var(--space-lg) var(--space-xl);margin-bottom:var(--space-md)}.card-head{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);flex-wrap:wrap}.ops-badge{font-family:var(--font-ui);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;background:var(--surface-elevated);border:1px solid var(--surface-hairline);color:var(--accent-umber);padding:4px 12px;white-space:nowrap}.material-no,.script-title{font-family:var(--font-body);font-weight:500;font-size:.95rem;color:var(--ink-primary)}.alert-card{border-left:4px solid var(--accent-ochre)}.ip-manage-item{border:1px solid var(--surface-hairline);background:var(--surface-soft);box-shadow:0 2px 8px #2c241a0f;margin-bottom:var(--space-xs)}.ip-manage-row{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);cursor:pointer;transition:background .2s ease}.ip-manage-row:hover{background:var(--surface-card)}.ip-manage-avatar{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:.9rem;font-weight:700;color:var(--ink-reverse);background:linear-gradient(135deg,var(--accent-clay),var(--accent-ochre));flex-shrink:0}.ip-manage-name{flex:1;font-family:var(--font-ui);font-size:.95rem;font-weight:500;color:var(--ink-primary)}.ip-manage-arrow{color:var(--ink-light);font-size:.8rem;transition:transform .2s ease}.ip-manage-menu{display:flex;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-top:1px dashed var(--surface-hairline);background:var(--surface-card);animation:menuSlide .2s ease both}@keyframes menuSlide{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.ip-manage-action{font-family:var(--font-ui);font-size:12px;font-weight:500;color:var(--accent-clay);background:var(--canvas);border:1px solid var(--surface-hairline);padding:5px 14px;cursor:pointer;text-decoration:none;box-shadow:0 1px 4px #2c241a14;transition:all .2s ease}.ip-manage-action:hover{background:var(--surface-soft);border-color:var(--accent-clay);transform:translateY(-1px);box-shadow:0 2px 8px #2c241a1f}.ip-manage-action.danger{color:var(--error)}.ip-manage-action.danger:hover{background:#a5533a14;border-color:var(--error)}.list-more{text-align:center;padding:var(--space-sm) 0}.list-more .btn{min-width:160px}.alert-ip{font-family:var(--font-ui);font-weight:600;color:var(--accent-rust);font-size:.85rem}.material-files{font-family:var(--font-body);font-size:.92rem;color:var(--ink-muted);line-height:1.7;word-break:break-all}.card-actions{display:flex;gap:var(--space-xs);margin-top:var(--space-md);flex-wrap:wrap}.card-meta{font-family:var(--font-ui);font-size:.76rem;color:var(--ink-light);margin-top:var(--space-xs);letter-spacing:.02em}.btn-sm{font-size:12px;padding:8px 16px;height:auto;min-height:34px;letter-spacing:.04em}.badge{font-family:var(--font-ui);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:3px 10px;white-space:nowrap}.badge-green{background:var(--success);color:var(--ink-reverse)}.badge-orange{background:var(--accent-ochre);color:var(--ink-reverse)}.badge-blue{background:var(--accent-umber);color:var(--ink-reverse)}.script-group{margin-bottom:var(--space-lg)}.script-group-head{font-family:var(--font-ui);font-size:13px;font-weight:600;color:var(--ink-primary);padding:10px 14px;background:var(--surface-soft);border:1px solid var(--surface-hairline);border-bottom:none;border-radius:4px 4px 0 0;display:flex;align-items:center;gap:8px}.script-group-count{font-weight:400;color:var(--ink-muted);font-size:12px}.script-table{border:1px solid var(--surface-hairline);border-radius:0 0 4px 4px;overflow:hidden}.filter{display:flex;gap:var(--space-xs);flex-wrap:wrap}.filter-btn{font-family:var(--font-ui);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;background:transparent;border:1px solid var(--surface-hairline);color:var(--ink-muted);padding:6px 14px;cursor:pointer;transition:all .2s ease}.filter-btn:hover{border-color:var(--accent-clay);color:var(--accent-clay)}.filter-btn.active{background:var(--accent-clay);border-color:var(--accent-clay);color:var(--ink-reverse)}.log-item{font-family:var(--font-ui);font-size:.82rem;padding:var(--space-sm) 0;border-bottom:1px solid var(--surface-hairline);display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.log-badge{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:3px 10px;white-space:nowrap}.badge-error{background:var(--error);color:var(--ink-reverse)}.badge-warn{background:var(--warning);color:var(--ink-reverse)}.badge-info{background:var(--accent-clay);color:var(--ink-reverse)}.log-time{color:var(--ink-light);white-space:nowrap;font-size:.76rem}.log-src{color:var(--ink-muted);font-size:.72rem;background:var(--surface-soft);border:1px solid var(--surface-hairline);padding:2px 8px;white-space:nowrap;text-transform:uppercase;letter-spacing:.05em}.log-detail{flex:1;min-width:150px;word-break:break-all;color:var(--ink-body)}.empty{font-family:var(--font-body);font-style:italic;color:var(--ink-light);text-align:center;padding:var(--space-xl)}@media(max-width:767px){.container{padding:var(--space-md) var(--space-sm) var(--space-xxl)}.topbar{padding:var(--space-md) 0;margin-bottom:var(--space-xl);flex-wrap:wrap;gap:var(--space-sm)}.topbar-title-wrap{order:3;width:100%}.topbar h1{font-size:1.3rem}.section{padding:var(--space-lg);margin-bottom:var(--space-xxl)}.section-title{font-size:1.15rem}.card{padding:var(--space-md)}.btn-sm{min-height:40px;padding:10px 18px}.modal-actions .btn{flex:1}.filter{width:100%}.filter-btn{flex:1;text-align:center}}
